viernes, 10 de julio de 2020

Localizando archivos de plantilla twig con depuracion en drupal 8

Si deseas saber que template esta generando un marcado para un elemento particular de una pagina puedes utilizar la opcion de depuracion por defecto de twig. Esta opcion mostrara comentarios HTML al mismo tiempo que la salida inclyendo los hooks utilizados en el tema, sugerencias para nombres de templates al igual que el nombre exacto del archivo twig utilizado para mostrar contenido en una seccion particular del marcado.

Para habilitar la depuracion de los templates twig puedes ir a sites/default/services.yml de tu instalacion de drupal 8 estableciendo dentro de este archivo el valor de la variable debug en true. Para instrucciones completas para depuracion en twig lee Depurando templates compilados en twig.

Luego de limpiar el cache al inspeccionar el elemento de la pagina veras el resultado de la depuracion del template twig como el siguiente:

<!-- THEME DEBUG -->
<!-- THEME HOOK: 'node' -->
<!-- FILE NAME SUGGESTIONS:
   * node--view--frontpage--page-1.html.twig
   * node--view--frontpage.html.twig
   * node--1--teaser.html.twig
   * node--1.html.twig
   * node--article--teaser.html.twig
   * node--article.html.twig
   * node--teaser.html.twig
   x node.html.twig
-->
<!-- BEGIN OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->

<article data-history-node-id="1" data-quickedit-entity-id="node/1" role="article" class="contextual-region node node--type-article node--promoted node--view-mode-teaser" about="/node/1" typeof="schema:Article" data-quickedit-entity-instance-id="0">
....
</article>

<!-- END OUTPUT from 'core/themes/classy/templates/content/node.html.twig' -->


Ahora te explicare tres puntos referentes a esta salida:

Las sugerencias de nombre estan en el orden mas especifico al menos especifico.
La sugerencia actual para el nombre del template esta marcado con una 'x' a su lado
Entre BEGIN OUTPUT y END OUTPUT encontraras la ruta completa del template que esta siendo mostrado.

En este caso vemos el marcado para un nodo que esta encapsulado con informacion de depuracion que puede ser de tu utilidad. Drupal incluye el hook que se esta utilizando, algunas sugerencias para nombres de template y la localizacion exacta del archivo de template que muestra el contenido actual.


No hay comentarios:

Publicar un comentario