Depurar y programar un tema en drupal 8

Hay muchos tutoriales de como crear un tema propio en drupal 8, como este que escribí yo mismo de como crear un subtheme de boostrap en drupal 8, pero si queremos crear un tema, depurarlo y programar nuestro propio tema necesitamos saber más, ¿Cómo depuramos nuestro tema?, para desarrollar nuestro custom theme en drupal 8 necesitamos configurar nuestro drupal para no perdernos en el intento. Una cosa imprescindible es el módulo Devel de drupal 8, vamos a instalarlo y te voy ha comentar como trabajar con el.

Cambiar los archivos de configuración de drupal 8 para poder depurar

Primero de todo hay que modificar unos archivos en “sites”, copiamos los archivos “sites/example.settings.local.php” y “sites/default/default.settings.php” los renombramos “sites/default/settings.local.php” y “sites/default/settings.php”.

Ahora el archivo que importa para depurar nuestras plantillas twig es “sites/default/default.services.yml”, lo renombramos también en “sites/default/services.yml”, lo abrimos y buscamos “twig.config” ahí editamos “debug: true”.

Listo con esto tenemos nuestro site drupal 8 preparado.

Tutorial del modulo devel de drupal 8

modulo devel drupal 8

Una vez instalado el módulo, podemos acceder a su configuración en “/admin/config/development/devel”, os voy a contar lo necesario para depurar nuestro theme. Tenemos que activar la opción kint que está la última de las Variables Dumper

depurar con kint modulo devel drupal 8

Hacer override de plantillas en drupal 8

Ahora nos vamos a nuestra plantilla, yo estoy creando un subtheme de boostrap y voy hacer un override de la plantilla “page.html.twig” que la he copiado de “themes/bootstrap/templates/system/page.html.twig”, si estáis creando un theme padre tendréis que coger el archivo twig del core de drupal “core/themes/bartik/templates/page.html.twig” y copiarlo en vuestro theme, esto es hacer un owerride.

Ahora drupal cuando tenga que imprimir el template “page” pintará el vuestro, vamos a imprimir las variables que le llegan a nuestro template. Para ello usaremos la funcion kint().

Este es el resultado, drupal devel nos pinta el contenido de nuestra variable.

imprimir variables con kint drupal 8

Como saber los templates que hay que tocar en nuestra página druoal 8

Esto está muy bien, pero una cosa aun mejor es los comentarios que nos deja el módulo devel en nuestra estructura html, veamos de que estoy hablando.

comentarios modulo devel drupal 8

En esta maraña de comentarios, el módulo devel nos informa de todo lo que debemos saber sobre los templates twig. Nos dice donde esta el archivo twig que pinta el bloque y como podemos renombrarlo para que drupal 8 lo entienda.

 

 

 

 

 

About ignacio Farré

Técnico en programación web, amigo de MVC y experto en Drupal, Symfony, Prestashop y bootstrap.

Check Also

Como crear una página en drupal 8 y maquetar en un theme

Crear una página en Drupal 8 y maquetar en un template

Es muy fácil crear una página en drupal 8, pero lo interesante es poder maquetarla …

programar un bloque con drupal

Crear un bloque en drupal 8 y maquetar en un theme

Os voy a mostrar como crear un bloque en drupal 8 y lo mas importante, …

Theme_preprocess_hook

Acceder a los datos del usuario en drupal 8 y a su imagen – Clases File, Node y User

Acceder a los datos del usuario en drupal 8 es muy fácil, en este artículo …