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 %}