Panelizer (obsoleto)
Panelizer permite que las entidades soportadas de Drupal sean tratadas como visualizaciones de Panels, proporcionando visualizaciones predeterminadas flexibles por bundle con personalización opcional por entidad.
panelizer
Install
composer require 'drupal/panelizer:8.x-5.0'
composer require 'drupal/panelizer:8.x-4.4'
Overview
Panelizer es un potente módulo de Drupal 7.x que permite que las entidades soportadas (nodes, términos de taxonomía, usuarios y comentarios) se rendericen utilizando el sistema de diseño de Panels. Esto permite a los constructores de sitios crear diseños personalizados y flexibles para cualquier tipo de entidad sin requerir código personalizado.
El módulo opera como descendiente y reemplazo del módulo "Panel Nodes" que anteriormente estaba incluido con Panels. Proporciona una arquitectura basada en plugins que puede extenderse para soportar tipos de entidad adicionales más allá de las entidades del core de Drupal.
Cada bundle de entidad (tipo de contenido, vocabulario, etc.) puede tener cada modo de visualización configurado individualmente. El módulo soporta cuatro modos operacionales: sin predeterminado/sin elección, con predeterminado/sin elección, sin predeterminado/con elección y con predeterminado/con elección. Esto proporciona un control granular sobre cómo se muestran las entidades y si los editores de contenido pueden seleccionar o personalizar las visualizaciones.
El módulo incluye soporte completo de revisiones e integración con los módulos Revisioning y Workbench Moderation para la gestión del flujo de trabajo editorial.
Features
- Soporta todas las entidades del core de Drupal: nodes, términos de taxonomía, usuarios y comentarios con extensibilidad para entidades personalizadas
- Configuración por bundle y por modo de visualización permitiendo que cada combinación de tipo de entidad/bundle tenga diferentes visualizaciones de panel
- Soporte de selección de múltiples visualizaciones - los bundles de entidad pueden tener múltiples visualizaciones predeterminadas con selección por entidad
- Cuatro modos operacionales: Sin Predeterminado/Sin Elección, Con Predeterminado/Sin Elección, Sin Predeterminado/Con Elección, Con Predeterminado/Con Elección
- Soporte completo de revisiones de contenido con integración para los módulos Revisioning y Workbench Moderation
- Soporte del Editor In-Place (IPE) a través de Panels para edición en vivo de visualizaciones
- Integración con Page Manager para funcionalidad completa de anulación de página
- Integración con Views con handlers personalizados para filtrar y mostrar contenido panelizado
- Integración con Search API para indexar contenido de entidades panelizadas
- Integración con el módulo Features para exportar configuraciones de Panelizer
- Arquitectura basada en plugins permitiendo fácil extensión para tipos de entidad personalizados
- Soporte de contexto y relaciones para configuraciones de visualización complejas
- Soporte de clase CSS, ID y código CSS personalizado por entidad
- Tipos de contenido y diseños permitidos configurables por bundle de entidad
Use Cases
Páginas de Destino Personalizadas por Tipo de Contenido
Habilitar Panelizer para un tipo de contenido 'Página de Destino' con elección de panel habilitada. Crear múltiples visualizaciones predeterminadas (ej. 'Dos Columnas', 'Tres Columnas', 'Destacada'). Los editores de contenido pueden entonces seleccionar qué diseño usar para cada página de destino y personalizar el contenido dentro.
Perfiles de Usuario Personalizados
Habilitar Panelizer para entidades de usuario para permitir a los administradores crear diseños de perfil personalizados. Los usuarios con permisos apropiados pueden personalizar sus propias visualizaciones de perfil dentro de los tipos de contenido permitidos.
Páginas de Destino de Taxonomía
Habilitar Panelizer con anulación de Page Manager para términos de taxonomía. Crear diferentes visualizaciones predeterminadas para diferentes vocabularios, permitiendo que las páginas de categoría tengan diseños únicos con contenido promocionado, filtros y bloques personalizados.
Diseños de Artículos Consistentes con Personalización por Artículo
Habilitar Panelizer para el tipo de contenido Artículo con una visualización predeterminada. Todos los artículos reciben automáticamente el diseño estándar, pero los editores pueden anular artículos individuales cuando se necesitan diseños especiales para contenido destacado.
Visualizaciones Específicas por Modo de Visualización
Configurar diferentes visualizaciones de Panelizer para el mismo tipo de contenido a través de diferentes modos de visualización. Por ejemplo, usar un diseño para visualización de página completa, otro para modo de visualización teaser, y otro para resultados de búsqueda.
Tips
- Para el modo de visualización de anulación de página completa, se recomienda no panelizar también el modo de visualización Predeterminado ya que pueden entrar en conflicto
- Modificar la configuración de Panelizer para una entidad siempre requiere el permiso correspondiente de 'update' para esa entidad
- Use sustituciones de contexto en campos de clase CSS para nombres de clase dinámicos basados en datos de la entidad
- Almacene datos de módulos personalizados en $panelizer->extra que es un array serializado, pero use namespace en las claves para evitar colisiones
- Al extender Panelizer para entidades personalizadas, copie el plugin de node como punto de partida y modifique la clase handler
Technical Details
Admin Pages 7
/admin/structure/panelizer
Página principal de configuración para habilitar y configurar Panelizer en todos los tipos de entidad soportados. Esta página muestra una tabla para cada tipo de entidad (node, user, taxonomy_term, comment) con casillas de verificación para habilitar/deshabilitar Panelizer por bundle y modo de visualización.
/admin/structure/panelizer/{entity_type}/{bundle}.{view_mode}
Configurar ajustes para la visualización predeterminada de Panelizer para una combinación específica de bundle de entidad y modo de visualización. Solo accesible cuando el bundle no tiene elección de panel habilitada.
/admin/structure/panelizer/{entity_type}/{bundle}/allowed
Configurar qué tipos de contenido (panes) están disponibles al editar visualizaciones de panel para este bundle de entidad.
/admin/structure/panelizer/{entity_type}/{bundle}.{view_mode}/layout
Cambiar el diseño de Panels para la visualización predeterminada. Proporciona una interfaz de asistente para seleccionar un nuevo diseño y opcionalmente mover contenido entre regiones.
/admin/structure/panelizer/{entity_type}/{bundle}.{view_mode}/content
Editar el contenido (panes) dentro de las regiones de visualización del panel. Usa la interfaz del editor de Panels para agregar, configurar y organizar panes.
/admin/structure/panelizer/{entity_type}/{bundle}.{view_mode}/context
Configurar contextos y relaciones adicionales para la visualización del panel. Los contextos proporcionan datos adicionales que pueden ser usados por los panes.
/admin/structure/panelizer/{entity_type}/{bundle}.{view_mode}/list/{name}/access
Configurar reglas de acceso que determinan cuándo se usa esta visualización predeterminada específica. Usa el sistema de control de acceso de CTools.
Permissions 7
Hooks 8
hook_panelizer_defaults_override_alter
Permitir que panelizer_defaults_override sea personalizado, principalmente para uso por el módulo Features Overrides.
hook_panelizer_operations_alter
Agregar operaciones personalizadas a objetos Panelizer. Las operaciones pueden realizarse tanto en valores predeterminados de panelizer como en entidades individuales. Los datos pueden almacenarse en $panelizer->extra (array serializado).
hook_panelizer_entity_plugin_process_alter
Permitir personalización del procesamiento del plugin de entidad durante la inicialización del plugin de CTools.
hook_panelizer_overview_links_alter
Personalizar los enlaces mostrados en la página de resumen de Panelizer para una entidad.
hook_panelizer_delete_default
Actuar sobre objetos panelizer predeterminados justo antes de que sean eliminados. Usar para limpieza de datos relacionados.
hook_panelizer_access
Ajustar acceso a la interfaz administrativa de Panelizer más allá de los permisos estándar. Devolver TRUE para conceder acceso, FALSE para denegar, o NULL para diferir a otras verificaciones de acceso.
hook_panelizer_access_alter
Alterar las definiciones de acceso de panelizer definidas. Puede anular decisiones de acceso de otros módulos.
hook_panelizer_clone_panelizer
Modificar un objeto Panelizer cuando es clonado y antes de que sea guardado. Útil para módulos que almacenan referencias dentro de panes de panel.
Troubleshooting 6
Actualizar el módulo Pathauto a v7.x-1.3 o más reciente que corrige un error que causaba que los alias de ruta se reiniciaran.
Este es un problema conocido que está siendo abordado. Ver https://www.drupal.org/node/2457113 para actualizaciones y soluciones alternativas.
Asegúrese de que el usuario tenga el permiso 'administer panelizer [entity_type] [bundle] overview'. Este permiso es requerido para que las pestañas aparezcan.
Visite admin/structure/pages y habilite la página de Page Manager apropiada para el tipo de entidad (ej. node_view para nodes).
Los modos de visualización deben habilitarse a través de la sección de Configuración de Visualización Personalizada en la página de Gestionar Visualización de la entidad antes de que aparezcan en Panelizer.
Panelizer 7.x-3.x es consciente de revisiones y duplica paneles para revisiones. Limpie periódicamente las revisiones antiguas para gestionar el tamaño de la base de datos.
Security Notes 3
- El código CSS ingresado en el formulario de configuración es filtrado por seguridad pero debe usarse con moderación
- Los permisos de entidad (acceso de actualización) siempre son requeridos además de los permisos de Panelizer
- El IPE (Editor In-Place) respeta tanto los permisos de actualización de entidad como los permisos de diseño/contenido de Panelizer