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".
fonte
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".
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:
$page_data = page_manager_get_current_page()
é onde está o dinheiro, especialmente$page_data['handler']
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):
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):
fonte