Tester si un bloc dans un template Twig existe
Publié le 22/05/2021 • Actualisé le 22/05/2021
Dans ce bout de code, nous voyons comment tester si un bloc dans un template Twig existe. C'est parfois utile de savoir si l'un des parents du template a déjà défini un bloc ou pas. On peut faire comme si nous testions une variable. Ce n'était pas possible avant la version 2 de Twig. Bien sûr, l'exemple serait plus pertinent dans un template étendant un autre, mais ce n'est pas le cas ici.
{% trans_default_domain 'snippet' %}
{% block defined_in_demo %}{% endblock %}
{% if block('defined_in_demo') is defined %}
<h3>{{ 'is_defined_148'|trans({'%block%':'defined_in_demo'}) }} ✅</h3>
{% else %}
<h3>{{ 'is_not_defined_148'|trans({'%block%': 'defined_in_demo'}) }} ❌</h3>
{% endif %}
{% if block('foo_bar') is defined %}
<h3>{{ 'is_defined_148'|trans({'%block%': 'foo_bar'}) }} ✅</h3>
{% else %}
<h3>{{ 'is_not_defined_148'|trans({'%block%': 'foo_bar'}) }} ❌</h3>
{% endif %}
Le bloc "defined_in_demo" est défini ! ✅
The bloc "foo_bar" n'est PAS défini ! ❌
Plus sur Stackoverflow Lire la doc Snippet aléatoire
A vous de jouer !
Ces articles vous ont été utiles ? Vous pouvez m'aider à votre tour de plusieurs manières : (cliquez sur le lien "reply" dans à droite pour me contacter )
- Me remonter des erreurs ou typos.
- Me remonter des choses qui pourraient être améliorées.
- Aimez et repostez !
- Suivez moi sur Bluesky 🦋
- Inscrivez-vous au flux RSS.
- Cliquez sur les boutons Plus sur Stackoverflow pour me faire gagner des badges "annonceur" 🏅.
Merci et à très bientôt sur Strangebuzz ! 😉
