Entity Blocks

Permite crear bloques con campos que muestran cualquier entidad utilizando modos de visualización configurables.

entity_block
10,685 sites
38
drupal.org
Drupal 8 Drupal 9 Drupal 10 Drupal 11

Instalar

Drupal 11, 10 v2.0.0
composer require 'drupal/entity_block:^2.0'
Drupal 9, 8 v8.x-1.1
composer require 'drupal/entity_block:8.x-1.1'

Overview

El módulo Entity Blocks permite a los administradores del sitio crear bloques que hacen referencia y muestran cualquier entidad de Drupal (nodes, usuarios, términos de taxonomía, etc.) utilizando los modos de visualización de la entidad. Esto proporciona una forma flexible de colocar contenido de entidades en regiones de bloques sin duplicar contenido ni crear bloques personalizados manualmente.

El módulo crea un tipo de entidad personalizado llamado 'entity_block' que almacena referencias a entidades objetivo. Cada entity block puede configurarse para mostrar una entidad específica utilizando un modo de visualización elegido (como teaser, full o modos de visualización personalizados). Los bloques admiten campos, lo que significa que puede adjuntar campos adicionales a los entity blocks si es necesario.

Esto es particularmente útil cuando necesita mostrar el mismo contenido en múltiples regiones, destacar contenido en barras laterales o crear bloques de contenido reutilizables que se actualizan automáticamente cuando la entidad de origen cambia.

Features

  • Crear bloques que muestran cualquier entidad de Drupal (nodes, usuarios, términos de taxonomía, productos de commerce, etc.)
  • Seleccionar entre los modos de visualización disponibles para controlar cómo se renderiza la entidad en el bloque
  • La selección de entidades utiliza autocompletado para facilitar la búsqueda de entidades por título
  • Los bloques se actualizan automáticamente cuando la entidad referenciada cambia
  • Los entity blocks admiten campos - puede agregar campos personalizados para extender su funcionalidad
  • Se integra con el sistema estándar de colocación de bloques de Drupal para la asignación de regiones
  • Soporta todos los tipos de entidad que tienen modos de visualización definidos
  • Filtrado automático de modos de visualización incompatibles (token, queue, rss)

Use Cases

Barra lateral de contenido destacado

Mostrar un artículo destacado en un bloque de barra lateral usando el modo de visualización teaser. Cuando el artículo destacado se actualiza, el bloque refleja automáticamente los cambios. Cree un entity block apuntando al tipo de entidad 'node' con bundle 'article' y modo de visualización 'teaser', luego seleccione el artículo específico a destacar.

Bloque de perfil de autor

Mostrar un perfil de usuario en una región de bloque. Cree un entity block apuntando al tipo de entidad 'user' y seleccione el autor a mostrar. Use un modo de visualización personalizado como 'author_bio' para controlar exactamente qué campos del usuario se muestran.

Producto destacado

Para sitios de Commerce, mostrar un producto específico en regiones de bloques promocionales. Apunte al tipo de entidad 'commerce_product' y seleccione el producto a destacar, eligiendo un modo de visualización apropiado para la presentación promocional.

Bloque de descripción de categoría

Mostrar la descripción de un término de taxonomía en regiones de bloque. Apunte al tipo de entidad 'taxonomy_term', seleccione el bundle de vocabulario y elija un término para mostrar su descripción y campos asociados en una barra lateral.

Fragmentos de contenido reutilizables

Use un tipo de contenido 'snippet' con varios bloques de texto reutilizables. Cree entity blocks que referencien estos nodes de snippet para colocar el mismo contenido en múltiples regiones de página sin duplicación.

Tips

  • Cree modos de visualización dedicados para la visualización en bloques para controlar exactamente qué campos aparecen en los entity blocks sin afectar otras visualizaciones.
  • Use títulos significativos para los entity blocks ya que aparecen en la interfaz de administración de bloques.
  • Los entity blocks admiten campos - considere agregar campos como 'Color de fondo' o 'Clase CSS' para proporcionar opciones de estilo adicionales.
  • Recuerde que los cambios en la entidad referenciada se reflejan automáticamente en el bloque - no es necesario actualizar el entity block en sí.
  • El módulo filtra los modos de visualización 'token', 'queue' y 'rss' ya que típicamente no son adecuados para mostrar en bloques.

Technical Details

Admin Pages 3
Entity blocks /admin/structure/entity-blocks

Página administrativa principal para gestionar entity blocks. Muestra una tabla de todos los entity blocks creados con sus detalles de configuración incluyendo ID, título, tipo de entidad objetivo, bundle, modo de visualización e ID de entidad referenciada. Proporciona enlaces para editar cada bloque.

Agregar entity block /admin/structure/entity-blocks/manage/add

Formulario para crear un nuevo entity block. Permite seleccionar el tipo de entidad objetivo, bundle, modo de visualización y la entidad específica a mostrar en el bloque.

Editar /admin/structure/entity-blocks/{entity_block_id}/edit

Formulario para editar un entity block existente. Mismos campos que el formulario de agregar, pre-poblados con la configuración actual.

Permisos 1
Administrar entity blocks

Permite a los usuarios crear, editar y eliminar entity blocks, así como acceder a las páginas de administración de entity blocks.

Hooks 7
hook_entity_info

Define el tipo de entidad entity_block con sus propiedades, incluyendo la capacidad de tener campos, configuración de bundle y rutas de administración.

hook_block_info

Registra todos los entity blocks como bloques de Drupal, usando el título del entity block como información del bloque.

hook_block_view

Renderiza el entity block cargando la entidad objetivo y mostrándola usando el modo de visualización configurado.

hook_permission

Define el permiso 'administer entity blocks'.

hook_menu

Define las rutas del menú de administración para listar, agregar y editar entity blocks, además del callback de autocompletado.

hook_field_extra_fields

Define pseudo-campos para el tipo de entidad entity_block para la gestión de visualización.

hook_schema

Define el esquema de base de datos para la tabla entity_block.

Troubleshooting 4
El autocompletado de entidades no funciona

Asegúrese de que el módulo Entity Reference esté correctamente instalado y habilitado. La funcionalidad de autocompletado depende del handler y sistema de autocompletado de Entity Reference.

El bloque no aparece después de crearlo

Después de crear un entity block, debe asignarlo a una región. Vaya a Administración > Estructura > Bloques y encuentre su entity block en la lista para asignarlo a una región.

Algunos tipos de entidad no están disponibles

Los tipos de entidad deben tener al menos un modo de visualización válido (distinto de token, queue o rss) para aparecer en el desplegable de tipo de entidad. Verifique que su tipo de entidad tenga modos de visualización definidos.

El modo de visualización no se muestra como se esperaba

Configure los ajustes de visualización del modo de visualización para el tipo de entidad objetivo en Administración > Estructura > Tipos de contenido > [Tipo] > Gestionar visualización (o equivalente para otros tipos de entidad). Asegúrese de que los campos estén habilitados para el modo de visualización seleccionado.

Security Notes 3
  • El permiso 'administer entity blocks' otorga control total sobre los entity blocks. Asigne este permiso cuidadosamente ya que los usuarios pueden referenciar y mostrar cualquier entidad a la que tengan acceso.
  • Las verificaciones de acceso a entidades no se realizan al ver entity blocks - cualquier entidad referenciada por un bloque se mostrará independientemente de los permisos del usuario que visualiza sobre esa entidad. Considere esto al referenciar contenido sensible.
  • Nota: Hay un error tipográfico en hook_menu() donde se usa 'adminiter entity blocks' en lugar de 'administer entity blocks' para la verificación de acceso de la página de lista, lo que puede causar problemas de acceso.