Conditions
If
Il peut arriver que vous souhaitiez afficher une partie du contenu en fonction de la valeur d’une donnée dynamique. C’est l’occasion parfaite pour utiliser un if
:
{% if user.age < 18 %}
<p>En tant que mineur vous devrez obtenir l’autorisation de vos parents.</p>
{% endif %}
If / Else
Dans d’autres cas, vous préfèrerez choisir entre deux versions contraires :
{% if client.type == "entreprise" %}
<p>{{client.nomEntreprise}} est représentée par {{client.nom}}.</p>
{% else %}
<p>{{client.nom}} s’auto-représente.</p>
{% endif %}
Autres mot-clés
Pour des cas plus avancés, les mot-clés suivants peuvent également vous être utiles.
Le mot-clé unless
est l’exact inverse d’un if
:
{% unless user.estBob %}
<p>Vous n’êtes pas Bob !</p>
{% endunless %}
L’enchaînement if … elsif … else
permet de gérer un peu plus de cas :
{% if client.estBob %}
<p>Vous êtes Bob.</p>
{% elsif client.type == "personne" %}
<p>Vous êtes une personne.</p>
{% else %}
<p>Il se peut que vous soyez… un singe.</p>
{% endif %}
Lorsqu’une donnée dynamique peut contenir une valeur parmi une liste établie et que le contenu dépend de cettee valeur, vous préfèrerez sans doute un enchaînement case … when … else
:
{% case client.type %}
{% when "entreprise" %}
<p>Nos offres B2B vous intéressent ?</p>
{% when "personne" %}
<p>Nos offres B2C vous intéressent ?</p>
{% else %}
<p>Nos offres vous intéressent ?</p>
{% endcase %}