- Accueil
- Info légales
- Aide (FAQ)
- Les tags de ce site
- Bloc note
- Articles techniques
- Notes system
- Divers articles
- Drupal
- Notes ITIL 2007
- Notes MS
- Dans le quartier...
- Emploi
- Recettes de cuisine et adresses gourmandes
- mes applis ubuntu préferées
- Divers acronymes du monde social
- Internet 2018
- P2 meublé à louer - quartier du Poteau 75018
- apcos - réseaux sociaux et outils
- Articles techniques
- Divers liens
- Fun
- Mon CV IT
- Nouveautés
Débugger twig
Source : https://www.drupal.org/docs/8/theming/twig/debugging-twig-templates
Activer via sites/default-ou-soussite/services.yml
(en dev seul, pas en prod, et vider le cache):
parameters:
twig.config:
debug: true
Avec firebug, vérifier que "Show Comments" est bien actif.
Après toute modif: faire un drush cr
(en prod) ou (en dev) utiliser le mode debug de twig
On verra alors dans le code (voir un ex sur cette page) :
-
"
<!-- FILE NAME SUGGESTIONS"
trié du plus spécifique au moins spécifique, avec un x (à la place des *) pour indiquer le fichier actif. -
le chemin complet du template qui est affiché est montré avec les
<!-- BEGIN OUTPUT from
et"END OUTPUT"
On peux aussi faire ca avec la console.
Pour les variables :
-
xdebug est recommandé (voir docs/develop/development-tools/xdebug-debugger) et quand le xdebug fonctionne bien, alors installer le module suivant (et configurer son code twig) https://www.drupal.org/project/twig_xdebug
-
sans xdebug ?
-
on a toujours les vieux
{{ dump() }}
et{{ dump(var) }}
-
avec devel et son sous-module kint , pour avoir un accordéon des variables dont twig dispose (et bloquer le navigateur si le rendu grossit trop),
faire un{{ kint() }}
- ou encore utiliser (le moins gourmant) https://www.drupal.org/project/vardumper
-
on a toujours les vieux
installer kint (composer):
composer require --dev drupal/devel 1.0-alpha1
drush -y en kint
Plus à
https://twig.symfony.com/doc/2.x/templates.html
https://www.chapterthree.com/blog/twig-concepts-drupal-8-themes-part-ii
https://www.drupal.org/node/1903374
Avec le mode debug de twig, les tests automatiques concernant le rendu HTML échoueront.
- Les templates twig sont automatiquement recompilés quand on change la source avec auto_reload (default: null ; à true automatiquement si on met le mode débug, donc pas besoin d'y toucher, à moins de ne vouloir que lui et sans le mode debug).
- cache par défaut à true, mis à false qd mode debug - rallentit bp les choses pour le dev, c'est meiux de le laisser actif
Configurer le cache API Render
Drupal, par défaut (pour optimiser le temps de chargement des pages), gère le cache des blocs et des entitées. Changer les templates twigs qui concernent blocs et entitées ne prendront donc pas de suite effet, à moins de configurer le settings.php (en prod) ou le settings.local.php :
$settings['container_yamls'][] = DRUPAL_ROOT . '/sites/development.services.yml';
$settings['cache']['bins']['render'] = 'cache.backend.null';
$settings['cache']['bins']['dynamic_page_cache'] = 'cache.backend.null';