J'écris cette question, car je vois de la confusion dans toute la communauté Drupal à propos de "qu'est-ce que le gestionnaire de pages" et "qu'est-ce que les panneaux".
la source
J'écris cette question, car je vois de la confusion dans toute la communauté Drupal à propos de "qu'est-ce que le gestionnaire de pages" et "qu'est-ce que les panneaux".
Ctools
Dans Ctools , il existe un sous-module appelé "Page manager". Ce module, à la base, est une interface utilisateur graphique pour hook_menu . Il vous permet soit de créer de nouveaux chemins dans le système, soit de reprendre certains de ceux fournis par Core.
Gestionnaire de pages
Une fois que le gestionnaire de pages gère un chemin pour vous, il peut en faire plusieurs choses différentes. Prêt à l'emploi, il peut vous fournir des redirections. Un cas d'utilisation courant pour cela est de refuser l'accès aux nœuds qui manquent de thèmes appropriés car ils ne sont pas destinés à être visualisés par eux-mêmes, tels que les "boîtes d'informations" ou les "nœuds d'image". Une autre consiste à rediriger d'une vue terminologique vers une recherche Solr du même terme.
L'un des principaux avantages du gestionnaire de pages est qu'il introduit une manière de traiter le "contexte", à ne pas confondre avec le module Contexte . Le kicker ici, c'est que les volets, qui sont des "blocs légèrement plus intelligents", peuvent déclarer leurs dépendances au système, et ils ont les arguments réels (appelés Contexts) passés dans le style d' injection de dépendance .
Pour ceux qui ne sont pas familiers avec DI, mais familiers avec Drupal, cela, par exemple, vous permet de ne plus jamais avoir besoin d'utiliser menu_get_object pour obtenir "Ce seul et unique nœud référencé à partir du chemin de menu". Et s'il y a plus d'un nœud sur le chemin? Ou si vous voulez vraiment baser le bloc sur un nœud à partir d'une référence d'entité? Cela devient un problème avec le gestionnaire de pages, ce qui rend tous les blocs (volets) beaucoup plus flexibles et réutilisables.
Panneaux
Cependant, le cas d'utilisation le plus courant consiste à remettre la disposition et le rendu du chemin aux panneaux . Panels fournit des outils pour définir des dispositions, soit en code, soit directement dans le navigateur, et vous permet de placer du contenu directement dans le navigateur.
Conclusion
Ces deux modules sont très puissants et relativement peu documentés, ce qui a frustré beaucoup de gens à leur sujet. Comprendre comment les utiliser est cependant bien la peine si vous construisez un site plus grand, d' autant plus que leur approche de traitement des « pages », ainsi que la mise en page, on dirait qu'ils vont dans Drupal 8 core, avec la permission de EclipseGC de l' initiative de SCOTCH . Projet de bac à sable pertinent
Lectures complémentaires
Exemples d'autres choses intéressantes que l'on peut faire avec ces outils:
$page_data = page_manager_get_current_page()
est là où l'argent est, en particulier$page_data['handler']
Dans Drupal 7, Page Manager était la base du module Panels .
" Learn Page manager " est un ensemble de vidéos intéressant (et étonnant). Ils contiennent divers sujets liés au module Panels . Voici un résumé de l'ensemble des vidéos sur ce sujet (citation du lien ci-dessus):
Reportez-vous à Explaining Panels: An Overview for Drupal Developers pour une autre grande explication sur le module Panels.
L'avenir de Page Manager
Dans Drupal 8, Page Manager est devenu un module séparé, alors qu'auparavant (jusqu'à Drupal 7), il faisait partie du module CTools . Voici quelques citations supplémentaires de la page du projet (liée au D8):
la source