Estoy escribiendo esta pregunta, porque veo confusión en toda la comunidad de Drupal sobre "qué es el administrador de páginas" y "qué son los paneles".
fuente
Estoy escribiendo esta pregunta, porque veo confusión en toda la comunidad de Drupal sobre "qué es el administrador de páginas" y "qué son los paneles".
Ctools
En Ctools , hay un submódulo llamado "Administrador de páginas". Este módulo, en esencia, es una interfaz gráfica de usuario para hook_menu . Le permite crear nuevas rutas en el sistema o hacerse cargo de algunas de las proporcionadas por Core.
Administrador de la página
Una vez que Page manager gestiona un camino para usted, puede hacer varias cosas diferentes con él. Fuera de la caja, puede proporcionar redireccionamientos para usted. Un caso de uso común para esto es negar el acceso a los nodos que carecen de una temática adecuada porque no están destinados a ser vistos por sí mismos, como "Casillas de hechos" o "Nodos de imagen". Otra es redirigir desde una vista de término a una búsqueda de Solr del mismo término.
Uno de los principales beneficios de Page manager es que introduce una forma de tratar el "Contexto", que no debe confundirse con el módulo Contexto . La patada aquí, es que los Paneles, que son "bloques ligeramente más inteligentes", pueden declarar sus dependencias al sistema, y tienen los argumentos reales (llamados Contextos) pasados en estilo de inyección de dependencia .
Para aquellos que no están familiarizados con DI, pero que están familiarizados con Drupal, esto, por ejemplo, les permite nunca tener que usar menu_get_object nuevamente para obtener "Ese único nodo al que se hace referencia desde la ruta del menú". ¿Qué pasa si hay más de un nodo en la ruta? ¿O si realmente desea basar el bloque en un nodo de una referencia de entidad? Esto no se convierte en un problema con Page manager, lo que hace que todos los bloques (paneles) sean mucho más flexibles y reutilizables.
Paneles
Sin embargo, el caso de uso más común es entregar el diseño y la representación de la ruta a los paneles . Panels proporciona herramientas para definir diseños, ya sea en código o directamente en el navegador, y le permite colocar contenido directamente en el navegador.
Conclusión
Ambos módulos son muy potentes y están relativamente poco documentados, lo que ha llevado a mucha gente a sentirse frustrada por ellos. Sin embargo, vale la pena entender cómo usarlos si está construyendo un sitio más grande, especialmente porque su enfoque para manejar "páginas", así como el diseño, parece que van a entrar en el núcleo de Drupal 8, cortesía de la iniciativa SCOTCH de EclipseGC . Proyecto de caja de arena relevante
Otras lecturas
Ejemplos de otras cosas interesantes que se pueden hacer con estas herramientas:
$page_data = page_manager_get_current_page()
es donde está el dinero, especialmente$page_data['handler']
En Drupal 7, Page Manager fue la base del módulo Paneles .
" Learn Page manager " es un conjunto interesante (y sorprendente) de videos. Contienen varios temas relacionados con el módulo Paneles . Aquí hay un resumen de todo el conjunto de videos sobre este tema (cita del enlace de arriba):
Consulte Explicación de paneles: una descripción general para desarrolladores de Drupal para obtener otra gran explicación sobre el módulo de paneles.
El futuro de Page Manager
En Drupal 8, Page Manager se ha convertido en un módulo separado, mientras que anteriormente (hasta Drupal 7) formaba parte del módulo CTools . Aquí hay algunas citas más de la página del proyecto (relacionado con D8):
fuente