Paragraph Blocks
Permite colocar valores individuales de campos de párrafo como bloques separados en Layout Builder.
paragraph_blocks
Install
composer require 'drupal/paragraph_blocks:^4.1'
Overview
El módulo Paragraph Blocks extiende la funcionalidad de Layout Builder de Drupal permitiendo que cada valor de un campo de párrafo multivalor se coloque como un bloque individual. Esto proporciona una gran flexibilidad al diseñar layouts de página con párrafos.
El módulo añade un campo "título administrativo" a las entidades de párrafo, que se utiliza para identificar los párrafos al seleccionar bloques en Layout Builder. Esto facilita la distinción entre múltiples elementos de párrafo, especialmente cuando se utilizan sobrescrituras de layout por entidad.
Las capacidades clave incluyen sincronización automática de la configuración de Layout Builder cuando los párrafos se reordenan o eliminan, integración con Content Moderation para gestionar revisiones pendientes, soporte para el módulo Paragraphs Library y soporte de Token para la generación dinámica de títulos administrativos.
Features
- Coloca cada valor de campos de párrafo multivalor como bloques individuales en Layout Builder
- Añade un campo de título administrativo a las entidades de párrafo para su identificación en la interfaz de Layout Builder
- Actualiza automáticamente la configuración de bloques de Layout Builder cuando los párrafos se reordenan o eliminan
- Soporta configuraciones de Layout Builder por tipo de entidad y por entidad individual
- Se integra con Content Moderation para soportar revisiones pendientes y contenido en borrador
- Soporta el módulo Paragraphs Library para elementos de párrafo reutilizables
- Permite configurar títulos administrativos predeterminados por tipo de párrafo con soporte de Token
- Proporciona opción para habilitar/deshabilitar paragraph blocks por campo de párrafo
- Cardinalidad máxima configurable para la visualización de paragraph blocks
- Opción para ocultar el campo de etiqueta durante la colocación de bloques en Layout Builder
Use Cases
Crear páginas de destino flexibles
Use paragraph blocks para construir páginas de destino donde cada sección (hero, características, testimonios, etc.) es un párrafo separado que puede posicionarse independientemente en diferentes regiones de layout usando Layout Builder.
Personalización de layout por página
Habilite 'Permitir que cada elemento de contenido tenga su layout personalizado' en Layout Builder para que los editores reorganicen paragraph blocks de manera diferente en cada página, usando títulos administrativos para identificar cada párrafo en la interfaz.
Gestión de contenido en barra lateral
Coloque elementos de párrafo específicos en regiones de barra lateral mientras mantiene otros en el área de contenido principal, todo gestionado a través del mismo campo de párrafo en el tipo de contenido.
Pruebas A/B de secciones de contenido
Reposicione u oculte fácilmente secciones de párrafo específicas en diferentes páginas gestionando su colocación en Layout Builder sin modificar el contenido subyacente.
Contenido reutilizable con Paragraphs Library
Combine con el módulo Paragraphs Library para crear bloques de contenido reutilizables que pueden colocarse vía Layout Builder manteniendo una única fuente de verdad.
Tips
- Establezca títulos administrativos predeterminados significativos en los tipos de párrafo usando tokens como [paragraph:field_title] para generar automáticamente nombres de bloque descriptivos
- Use la opción 'Ocultar campo de etiqueta' para simplificar la interfaz de colocación de bloques para los editores de contenido
- Para sitios con muchos tipos de párrafo, mantenga 'Mostrar paragraph blocks individuales en la interfaz' deshabilitado para mantener el rendimiento
- Al usar Content Moderation, los paragraph blocks mostrarán automáticamente la última revisión incluyendo contenido en borrador en modo de previsualización
- El campo de título administrativo es traducible y revisionable, soportando flujos de trabajo multilingües y conscientes de revisiones
Technical Details
Admin Pages 1
/admin/config/content/paragraph_blocks
Configura los ajustes globales para el módulo Paragraph Blocks, incluyendo el número máximo de paragraph blocks a mostrar y opciones de comportamiento de la interfaz.
Hooks 8
hook_entity_base_field_info
Añade el campo base 'admin_title' a las entidades de párrafo. Este campo almacena un título definido por el usuario para identificar párrafos en Layout Builder.
hook_plugin_filter_TYPE__CONSUMER_alter (layout_builder)
Filtra y reetiqueta las definiciones de paragraph blocks en la interfaz 'Añadir Bloque' de Layout Builder. Elimina paragraph blocks no disponibles y actualiza las etiquetas administrativas.
hook_field_widget_info_alter
Reemplaza la clase del widget entity_reference_paragraphs predeterminado con ParagraphBlocksInlineParagraphsWidget para personalizar el comportamiento de visualización del título administrativo.
hook_entity_type_alter
Reemplaza la clase de entidad Paragraph predeterminada con ParagraphBlocksEntity para añadir métodos de soporte de título administrativo.
hook_form_field_config_edit_form_alter
Añade una casilla 'Habilitar Paragraph Blocks' a los formularios de configuración de campos de párrafo, permitiendo control por campo de la funcionalidad de paragraph blocks.
hook_entity_presave
Actualiza la configuración de Layout Builder cuando se guardan entidades con campos de párrafo. Gestiona el reordenamiento y eliminación de párrafos para mantener la integridad del layout.
hook_form_paragraphs_type_form_alter
Añade un campo 'Título administrativo predeterminado' a los formularios de configuración de tipos de párrafo. Soporta patrones de Token para generación dinámica de títulos.
hook_paragraph_create
Establece el título administrativo predeterminado en párrafos recién creados basándose en el valor predeterminado configurado del tipo de párrafo.
Troubleshooting 5
Asegúrese de que el campo de párrafo tiene 'Habilitar Paragraph Blocks' marcado en la configuración del campo, verifique que el ajuste max_cardinality sea suficientemente alto, y confirme que el tipo de entidad tiene Layout Builder habilitado.
Mantenga 'Mostrar paragraph blocks individuales en la interfaz' deshabilitado (predeterminado) y use un valor razonable de max_cardinality. El módulo filtra automáticamente para mostrar solo bloques relevantes.
El módulo debería actualizar automáticamente la configuración de bloques al guardar. Si los problemas persisten, verifique que hook_entity_presave se está ejecutando correctamente y que la entidad no está siendo sincronizada (Workspaces).
Asegúrese de que el módulo Token está instalado y habilitado. Los patrones de token solo se procesan cuando Token está disponible.
Este es el comportamiento esperado - el título administrativo se oculta automáticamente para párrafos anidados ya que solo los párrafos de nivel superior se usan como bloques.
Security Notes 2
- El módulo requiere el permiso 'administer paragraphs settings' para acceder a la configuración
- No hay preocupaciones de seguridad adicionales más allá de los controles estándar de acceso a campos y entidades de Drupal