field_boolean
est un champ booléen.
{% if content.field_boolean == true %}
ou {% if content.field_boolean == 1 %}
ou {% if content.field_boolean == 'true' %}
ou {% if content.field_boolean == '1' %}
ne fonctionne pas.
Comment tester si la case est cochée?
Vous voulez regarder la valeur brute, pas le tableau de rendu.
Exemple:
{% if node.field_foo is not empty %}
Ceci vérifie si le champ existe. Le tableau de rendu ne sera pas utile au-delà des valeurs de rendu.
Ne regardez pas content
- c'est simplement le tableau de rendu. Regardez les champs de votre objet entité (nœud, paragraphe, etc.). Vous voudrez peut-être installer Twig XDebug pour briser vos modèles ou inspecter les variables dans mytheme.theme
.
Vous devriez pouvoir regarder {% if node.field_foo.value ... %}
pour la vérification de l'égalité.
Voici comment j'ai résolu cela, cela nécessite le projet twig_field_value .
Pour le champ booléen, définissez les valeurs d'activation et de désactivation sur 1 et 0 respectivement.
En brindille:
{% if content.field_foo|field_raw('value')|number_format(0,'.',',') is same as('0') %} <span>the box is NOT checked</span> {% endif %}
Cela fonctionne pour moi.
{% if '1' in content.field_name.0 %} {{ "anything" }} {% endif %}