¿Cuál es la diferencia entre Page manager y Panels?

31

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".

Letharion
fuente

Respuestas:

48

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:

  1. Si el contexto se usa como una herramienta de seccionamiento , los paneles pueden trabajar en conjunto con él y usarse como una herramienta de diseño.
  2. Los paneles pueden interactuar con Display suite para proporcionarle una interfaz de usuario agradable de arrastrar y soltar.
  3. El administrador de páginas y la Administración contextual pueden ayudar a construir en los menús sensibles "Contexto" y otras cosas útiles para los administradores / editores del sitio.
Letharion
fuente
3
Realmente nunca he entendido / usado el administrador de páginas: es genial saber para qué sirve (básicamente). Gracias por la breve reseña!
Chapabu
2
$page_data = page_manager_get_current_page()es donde está el dinero, especialmente$page_data['handler']
mpdonadio
1

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):

  • El administrador de páginas le permite recopilar y administrar información contextual de manera flexible y consistente. Es una parte importante de la construcción de infraestructura en los sitios web de Drupal, y debe saber cómo usar este módulo.
  • La serie de screencast está dirigida a desarrolladores experimentados de Drupal.
  • Los episodios 1, 2 y 3 presentan los conceptos más básicos, como páginas personalizadas, variantes, reglas de selección y (en cierta medida) objetos contextuales.
  • Los episodios 4, 5, 6 y 7 hablan sobre paneles, con énfasis en la integración de Vistas, pero también algunas palabras sobre el almacenamiento en caché eficiente.
  • Episodios 8 y 9 sobre control de acceso, elementos de menú y, sobre todo, el módulo de administración contextual poco conocido pero muy útil.
  • Los episodios 10 y 11 hablan más sobre el uso de objetos contextuales en el Administrador de páginas, incluido el uso de Vistas como contexto. Esto es, en mi opinión, donde está el verdadero poder en Page manager.
  • Los episodios 12 y 13 recopilan varios fragmentos, como la forma de usar los paneles para reorganizar fácilmente el formulario de edición de nodos, la configuración de importación / exportación y algunos módulos adicionales que se pueden usar con el Administrador de páginas.

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):

Admite la creación de nuevas páginas y permite colocar bloques dentro de esa página.

Al igual que el Administrador de páginas de Drupal 7, proporciona un concepto de "variantes de página", cada una con sus propias condiciones de selección.

Además, se puede utilizar para controlar una página existente, como anular / node /% para cambiar lo que se muestra al visualizar un nodo.

Utiliza el núcleo Conditions, Contexty las BlocksAPI para lograr esto.

Pierre.Vriens
fuente