Block

07 Mar 2025 -
Core
Imprescindible
Config

El módulo Block es una parte esencial de la arquitectura de Drupal. No sólo ofrece una interfaz de usuario intuitiva para la gestión de bloques, sino que también proporciona una API robusta para que los desarrolladores puedan crear bloques personalizados y controlar su comportamiento. Esta guía cubre todo lo que necesita saber sobre el módulo de Bloques, desde la habilitación y configuración de bloques hasta el aprovechamiento de la API de Bloques para funcionalidades personalizadas.

1. Activación y gestión de bloques


En el núcleo de Drupal, el módulo Block está habilitado por defecto. Sin embargo, si necesita verificar su estado o volver a habilitarlo, puede hacerlo a través de la página Extend (/admin/modules) o utilizando Drush: 

drush en block -y

Una vez habilitado, puedes gestionar los bloques navegando a la página Diseño de bloques (/admin/structure/block). Esta interfaz le permite ver todos los bloques disponibles y asignarlos a regiones específicas definidas por su tema.

admin structure block layout añadir bloque de contenido

2. Creating Custom Blocks

Drupal te permite crear bloques personalizados que pueden contener cualquier contenido que desee mostrar. Para crear un bloque personalizado

Ve a /admin/structure/block/block-content y haz clic en «Añadir bloque personalizado». Por defecto, si no tiene ningún tipo de bloque creado, verá esta página vacía.

admin structure add block content añadir bloque de contenido

A continuación, debes crear un nuevo tipo de contenido, con el fin de ser capaz de crear bloques de contenido personalizado, haciendo clic en la página de creación de tipo de bloque.

admin structure block layout añadir tipo de bloque personalizado

Rellenando los campos y pulsando en guardar crearás el nuevo tipo de bloque de contenido.

admin structure block layout administrar campos

Podrías añadir cualquier otro tipo de campos siguiendo la opción de gestionar campo, igual que los campos de tipo contenido. Pero, por ahora, vuelve a la página de añadir bloque de contenido. Rellena los campos para el título y el cuerpo del bloque y, a continuación, guarda el bloque personalizado.

admin structure block layout añadir bloque de contenido perosnalizado

Los bloques personalizados pueden editarse, eliminarse y reutilizarse en diferentes regiones de su sitio.

admin structure block layout content block bloques de contenido vistazo general

3. Colocación y configuración de bloques

Después de crear o elegir un bloque existente, es necesario colocarlo dentro de una región. Desde la página Disposición de bloques (vimos esta página anteriormente en la ruta /admin/estructura/bloque), haz clic en «Colocar bloque» junto a la región deseada.

admin structure block layout diseño de bloques colocar bloques place block

Selecciona el bloque que desea colocar y configura sus ajustes, como la visibilidad del título, las clases CSS y las condiciones de visibilidad personalizadas. Los ajustes de visibilidad te permiten restringir la visualización del bloque por tipos de contenido, roles de usuario, rutas, etc. Sólo tienes que configurarlo y guardar la configuración.

admin structure block layout config block configuración de bloque añadir bloque te de contenido a región

Una vez configurado, el bloque aparecerá en las páginas y regiones designadas según sus reglas.

admin structure block layout block region bloque colocado en región

Ahora sólo tienes que visitar una ruta que cumpla la configuración de visibilidad y ver tu bloque colocado.

4. Visibilidad y almacenamiento en caché de los bloques

El módulo Bloque ofrece opciones avanzadas para controlar dónde y cuándo se muestra un bloque:

  • Ajustes de visibilidad: Configure condiciones basadas en tipos de contenido, páginas, roles de usuario o lógica PHP personalizada para determinar si un bloque debe ser visible.
  • Almacenamiento en caché: Cada bloque puede tener ajustes individuales de almacenamiento en caché, lo que es crucial para optimizar el rendimiento del sitio. Puede controlar la duración y el contexto de la caché para garantizar que los bloques dinámicos se actualicen según sea necesario sin dejar de beneficiarse del almacenamiento en caché.

5. API de bloques y las personalizaciones para desarrolladores

Para los desarrolladores, la API de bloques ofrece potentes hooks y plugins para crear y modificar bloques:

  • Sistema de plugin para bloques: Los bloques personalizados se definen como plugins que implementan interfaces específicas. Esto permite crear bloques con lógica y presentación personalizadas.
  • Hooks: Utiliza hooks como hook_block_info() (en versiones anteriores) o implementa plugins de bloques para definir nuevos bloques, alterar los existentes o modificar su salida.
  • Integración con otras API: Los bloques pueden interactuar con otros sistemas como Vistas, Formularios, Menús e integraciones de terceros para ofrecer contenido dinámico.

La API de bloques te permite ampliar la funcionalidad más allá de la interfaz de usuario predeterminada, posibilitando la creación de bloques altamente personalizados y conscientes del contexto.

Conclusión

El módulo Block es una herramienta fundamental en Drupal, proporcionando un sistema versátil y extensible para la gestión de la colocación de contenidos a través de su sitio. Tanto si eres un administrador de sitio que busca configurar rápidamente la colocación de bloques como si eres un desarrollador que crea funcionalidades de bloques personalizadas a través de la API de bloques, este módulo está diseñado para satisfacer tus necesidades. Con una planificación cuidadosa, una configuración adecuada y el cumplimiento de las mejores prácticas, puedes crear un sitio Drupal dinámico y bien organizado que mejore tanto el rendimiento como la experiencia del usuario.

El módulo Block es un componente básico de Drupal que te permite gestionar, crear y colocar bloques -piezas de contenido reutilizables- en varias regiones de tu sitio. Proporciona un sistema flexible para mostrar información como menús, banners y contenido personalizado, adaptado a páginas, roles o contextos específicos.