Cómo Crear Diseños Personalizados de Drupal para el Generador de Diseños Mediante Código
Hoy, exploremos Cómo Crear Diseños Personalizados de Drupal para el Generador de Diseños Mediante Código.
El Generador de Diseños de Drupal proporciona una forma potente e intuitiva de diseñar diseños de página flexibles sin adentrarse en el código. Permite a los editores de contenido organizar el contenido en estructuras visualmente atractivas utilizando una interfaz de arrastrar y soltar. En esta entrada del blog, exploraremos qué es el Generador de Diseños, cómo habilitarlo y demostraremos cómo crear plantillas personalizadas para un control aún mayor.
¿Qué es el Generador de Diseños?
En esencia, el Generador de Diseños es un módulo de Drupal que te permite construir visualmente el diseño de las páginas. En lugar de estar limitado a la estructura rígida de un tema, obtienes la libertad de:
- Definir Regiones: Designar secciones dentro de tu página (por ejemplo, encabezado, pie de página, contenido principal, barra lateral).
- Ensamblar Diseños con Bloques: Colocar y organizar diferentes bloques de contenido (texto, imágenes, menús, etc.) dentro de estas regiones utilizando arrastrar y soltar.
- Crear Plantillas Personalizadas: Elaborar archivos de plantilla para diseños específicos para tener un control preciso sobre el HTML y la colocación de regiones.
Habilitar el Generador de Diseños para un Tipo de Contenido
Supongamos que deseas usar el Generador de Diseños en el tipo de contenido 'Artículo'. Aquí te explicamos cómo habilitarlo:
- Instalar Módulos: Asegúrate de tener habilitado el módulo principal Generador de Diseños (generalmente es uno predeterminado).
- Administrar Pantalla: Navega a
/ admin / structure / types / manage / article / display
(reemplaza 'article' con el nombre de máquina de tu tipo de contenido). - Habilitar el Generador de Diseños: En la sección 'Opciones de diseño', marca la casilla “Usar Generador de Diseños”.
- Guardar Cambios: Haz clic en ‘Guardar’.

También puedes optar por permitir que los nodos individuales (artículos, en este contexto) tengan sus propias anulaciones de diseño únicas. Esto significa que cada artículo puede tener un diseño distinto al diseño predeterminado que hayas establecido para el tipo de contenido 'Artículo'.
Cómo Crear Diseños Personalizados de Drupal
Si bien tu tema de Drupal y algunos módulos pueden ofrecer algunos diseños preconstruidos, la creación de plantillas personalizadas proporciona un control y una flexibilidad aún mayores. Aquí te explicamos por qué podrías necesitar diseños personalizados:
- Diseños de Página a Medida: Crea diseños que se ajusten perfectamente a tu contenido, en lugar de limitarte a diseños genéricos de temas o módulos.
- Edición Fácil: Proporciona diseños listos para usar que coincidan con el estilo de tu sitio web, lo que simplifica la vida a tus editores de contenido.
- Aspecto Consistente: Asegúrate de que tu sitio web se vea genial en cada página, incluso cuando utilices diseños que no se incluyeron en tu tema.
Para crear diseños personalizados, sigue estos pasos:
- Archivo
THEME.layouts.yml
:- Crea un archivo llamado
THEME.layouts.yml
en el directorio raíz de tu tema (reemplazaTHEME
con el nombre real de tu tema). - Usemos un ejemplo rápido para un diseño con una barra lateral derecha. Agrega el siguiente código y recuerda reemplazar 'EXAMPLE' con un prefijo adecuado para tu proyecto:
- Crea un archivo llamado
example_layout_right_sidebar:
label: 'EJEMPLO: Contenido con Barra Lateral Derecha'
path: templates/layout/example/sidebar
template: layout--right-sidebar
category: 'Columnas de Ejemplo: 2'
default_region: first
icon_map:
- [top]
- [first, first, second]
- [bottom, bottom, bottom]
regions:
top:
label: Superior
first:
label: Primero
second:
label: Segundo
bottom:
label: Inferior
Explicación del código:
- example_layout_right_sidebar: Nombre único para el diseño.
- label: El nombre amigable para este diseño en el Generador de Diseños.
- path: Dónde se encuentran los archivos de plantilla de tu diseño.
- template: El archivo de plantilla principal que define la estructura HTML de tu diseño.
- Necesitarás un archivo
layout--right-sidebar.html.twig
correspondiente en la ruta especificada.
- Necesitarás un archivo
- category: Ayuda a agrupar los diseños dentro de la interfaz del Generador de Diseños.
- default_region: Especifica dónde se colocarán inicialmente los bloques de contenido (en este caso, la región 'first').
- icon_map:
- Esto muestra una vista previa visual básica en el Generador de Diseños:
- Una fila en la parte superior (
[top]
) - Fila con tres columnas: dos columnas 'first' más anchas y una columna 'second' más estrecha.
- Una fila en la parte inferior (
[bottom, bottom, bottom]
)
- Una fila en la parte superior (
- Esto muestra una vista previa visual básica en el Generador de Diseños:
- regions:
- Define las áreas con nombre donde puedes colocar contenido:
- top: Una región que abarca la parte superior del diseño.
- first: La región de contenido principal (probablemente la columna izquierda).
- second: La región de la barra lateral (probablemente la columna derecha).
- bottom: Una región que abarca la parte inferior del diseño.
- Usarás
{{ content.top }}
,{{ content.first }}
, y{{ content.second }}
para posicionar tu contenido en la plantilla twig.
- Define las áreas con nombre donde puedes colocar contenido:
- Archivos de Plantilla:
- En la carpeta que especificaste en el
path
de tu archivo.layouts.yml
(por ejemplo,templates / layout / example / sidebar
), crea los archivos de plantilla Twig comolayout--right-sidebar.html.twig
. - Aquí tienes el ejemplo de plantilla:
- En la carpeta que especificaste en el
{#
/**
* @file
* Implementación predeterminada del tema para un diseño de medios.
*
* Variables disponibles:
* - content: El contenido para este diseño.
* - attributes: Atributos HTML para el <div> del diseño.
*
* @ingroup themeable
#}
{% if content %}
<div{{ attributes.addClass('row example-sidebar-layout example-right-sidebar') }}>
<div class="example-container">
{% if content.top %}
<div {{ region_attributes.top.addClass('region--top example-sidebar-layout-top') }}>
{{ content.top }}
</div>
{% endif %}
<div class="example-sidebar-layout-middle">
<div{{ region_attributes.first.addClass('col-sm-9 example-sidebar-column-left') }}>
{{ content.first }}
</div>
<div{{ region_attributes.second.addClass('col-sm-3 example-sidebar-column-right') }}>
{{ content.second }}
</div>
</div>
{% if content.bottom %}
<div {{ region_attributes.bottom.addClass('region--bottom example-sidebar-layout-bottom') }}>
{{ content.bottom }}
</div>
{% endif %}
</div>
</div>
{% endif %}
- Limpiar Cachés: Limpia las cachés de Drupal para registrar tus nuevas plantillas.
Usando Tus Plantillas Personalizadas
- Al editar un nodo de 'Artículo' (o el tipo de contenido que hayas elegido), cambia a la pestaña 'Diseño'.
- Tus diseños personalizados ahora deberían estar disponibles para su selección.
- Una vez que elijas un diseño, puedes comenzar a agregar bloques de contenido en sus regiones designadas.

Reflexiones Finales
El Generador de Diseños y las plantillas personalizadas te brindan más flexibilidad para diseñar tu sitio de Drupal de la manera que desees. Puede requerir un poco de práctica para acostumbrarse, pero la capacidad de crear diseños que se adapten perfectamente a tus necesidades vale la pena el esfuerzo. Experimenta y mira lo que puedes crear. ¡Feliz depuración!