6.7. Trabajo con regiones y bloques en Drupal
Para que tengas una nueva región a través de la cual puedas mostrar bloques, necesitas:
- Agregar la información de la región en el archivo theme.info.yml
- Editar page.html.twig, añadiendo la salida de la nueva región
Agregar datos de región al archivo drupalbook.info.yml
Todas las regiones se agrupan bajo la clave regions
:
# Regiones
regions:
header: 'Encabezado'
content: 'Contenido'
footer: 'Pie de página'
El nombre de máquina de la región debe consistir en letras y números; puedes usar guion bajo, al igual que en variables de PHP. El nombre legible puede ir entre comillas o no si no tiene espacios, pero es mejor siempre usar comillas. El nombre legible se muestra en el panel de administración, mientras que el nombre de máquina se usa en la plantilla page.html.twig.
Agregar la salida de la región en page.html.twig
Toda la salida de regiones está en la variable page
. Para mostrar una región específica, debes imprimir parte de la variable page
. Usa el nombre de máquina de la región, por ejemplo, si tienes la región header
:
header: 'Encabezado'
Entonces, usamos el nombre de máquina header
así:
{{ page.header }}
Puedes mostrar cualquier región definida en tu archivo theme.info.yml en cualquier parte de la plantilla page.html.twig.
Regiones estándar de Drupal
Puedes consultar siempre la documentación oficial: page.html.twig
page.header
: para mostrar el encabezado del sitio.
page.primary_menu
: para mostrar el menú principal.
page.secondary_menu
: para mostrar un menú secundario.
page.highlighted
: para mostrar información sobre el contenido.
page.help
: para mostrar ayuda contextual.
page.content
: región obligatoria para mostrar el contenido del sitio.
page.sidebar_first
: primera barra lateral.
page.sidebar_second
: segunda barra lateral.
page.footer
: pie de página del sitio.
page.breadcrumb
: ruta de navegación del sitio.
Puedes usar las regiones estándar de Drupal o añadir las tuyas propias. Lo más importante es asegurarte de que el nombre de la región coincida con su ubicación en el archivo page.html.twig.