Qual é a diferença entre o gerenciador de páginas e os painéis?


31

Estou escrevendo esta pergunta, porque vejo confusão em toda a comunidade Drupal sobre "o que é o gerenciador de páginas" e "o que é painéis".

Respostas:


48

Ctools

No Ctools , existe um submódulo chamado "Gerenciador de páginas". Este módulo, em sua essência, é uma interface gráfica do usuário para o hook_menu . Permite criar novos caminhos no sistema ou assumir alguns dos fornecidos pelo Core.

Gerenciador de páginas

Depois que o Gerenciador de páginas gerencia um caminho para você, ele pode fazer várias coisas diferentes. Pronto para uso, ele pode fornecer redirecionamentos para você. Um caso de uso comum para isso é negar acesso a nós que não possuem temas adequados, porque eles não devem ser visualizados por si próprios, como "caixas de fatos" ou "nós de imagem". Outra é redirecionar de uma visão de termo para uma pesquisa Solr do mesmo termo.

Um dos principais benefícios do gerenciador de páginas é que ele introduz uma maneira de lidar com o "contexto", que não deve ser confundido com o módulo contexto . O ponto principal aqui é que os painéis, que são "blocos um pouco mais inteligentes", podem declarar suas dependências para o sistema e têm os argumentos reais (chamados Contextos) transmitidos no estilo de injeção de dependência .

Para aqueles que não estão familiarizados com o DI, mas que estão familiarizados com o Drupal, isso, por exemplo, permite que você nunca precise usar menu_get_object novamente para obter "Esse único nó referenciado no caminho do menu". E se houver mais de um nó no caminho? Ou se você realmente deseja basear o bloco em um nó a partir de uma referência de entidade? Isso se torna um problema no Gerenciador de páginas, tornando todos os blocos (painéis) muito mais flexíveis e reutilizáveis.

Painéis

O caso de uso mais comum, no entanto, é entregar o layout e a renderização do caminho para os painéis . Painéis fornece ferramentas para definir layouts, no código ou diretamente no navegador, e permitem colocar o conteúdo diretamente no navegador.

Conclusão

Ambos os módulos são muito poderosos e estão relativamente pouco documentados, o que levou muitas pessoas a ficarem frustradas com eles. A compreensão de como usá-los é no entanto vale a pena se você está construindo um site maior, especialmente porque sua abordagem para lidar com "páginas", bem como o layout, parece que eles estão indo para Drupal 8 core, cortesia de EclipseGC 's iniciativa SCOTCH . Projeto sandbox relevante

Leitura adicional

Exemplos de outras coisas interessantes que podemos fazer com essas ferramentas:

  1. Se o Contexto for usado como uma ferramenta de corte , os Painéis poderão trabalhar em conjunto com ele e ser usados ​​como uma ferramenta de layout.
  2. Os painéis podem interagir com o conjunto de exibição para fornecer uma boa interface de usuário de arrastar e soltar.
  3. O gerenciador de páginas e a administração contextual podem ajudar a criar menus sensíveis ao "contexto" e outras coisas úteis para administradores / editores de sites.

3
Eu realmente nunca entendi / usei o gerenciador de páginas - é ótimo saber para que serve (basicamente). Obrigado pela breve descrição!
Chapabu 26/06

2
$page_data = page_manager_get_current_page()é onde está o dinheiro, especialmente$page_data['handler']
mpdonadio

1

No Drupal 7, o Page Manager foi a base do módulo Panels .

O " Learn Page manager " é um conjunto de vídeos interessante (e incrível). Eles contêm vários tópicos relacionados ao módulo Painéis . Aqui está um resumo de todo o conjunto de vídeos sobre este tópico (citação no link acima):

  • O gerenciador de páginas permite coletar e gerenciar informações contextuais de maneira flexível e consistente. É uma parte importante da construção de infraestrutura nos sites do Drupal e você deve saber como usar este módulo.
  • A série de screencast é direcionada a desenvolvedores experientes do Drupal.
  • Os episódios 1, 2 e 3 apresentam os conceitos mais básicos, como páginas personalizadas, variantes, regras de seleção e (até certo ponto) objetos contextuais.
  • Os episódios 4, 5, 6 e 7 falam sobre painéis, com ênfase na integração do Views, mas também algumas palavras sobre o cache eficiente.
  • Os episódios 8 e 9 sobre controle de acesso, itens de menu e, não menos importante, o pouco conhecido, mas muito útil módulo de Administração Contextual.
  • Os episódios 10 e 11 falam mais sobre o uso de objetos contextuais no Gerenciador de páginas, incluindo o uso de Views como contexto. É aqui que está o poder real no Gerenciador de páginas.
  • Os episódios 12 e 13 coletam vários bits e partes, como usar painéis para reorganizar facilmente o formulário de edição de nós, configurações de importação / exportação e alguns módulos extras que podem ser usados ​​com o Gerenciador de páginas.

Consulte Explaining Panels: A Overview for Drupal Developers para obter outra excelente explicação sobre o módulo Panels.

O futuro do Page Manager

No Drupal 8, o Page Manager se tornou um módulo separado, enquanto anteriormente (até o Drupal 7) fazia parte do módulo CTools . Aqui estão mais algumas citações da página do projeto (relacionada ao D8):

Ele suporta a criação de novas páginas e permite colocar blocos dentro dessa página.

Como o Gerenciador de páginas do Drupal 7, ele fornece um conceito de "variantes de página", cada uma com suas próprias condições de seleção.

Além disso, ele pode ser usado para assumir o controle de uma página existente, como overriding / node /% para alterar o que é exibido ao visualizar um nó.

Ele utiliza o núcleo Conditions, Contexte BlocksAPIs para alcançar este objetivo.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.