Boucles et listes

Boucler avec for

Lorsque vous avez une liste d’éléments, vous voulez en général la parcourir et l’afficher sous forme de liste à puces ou numérotée. Et pour le ça le for est très… fort.

Définissions une liste dans l’onglet données d’exemple :

{
  "fruits": [
    "Pomme",
    "Banane",
    "Citron"
  ]
}

Nous pouvons maintenant parcourir cette liste dans notre modèle :

<ul>
  {% for fruit in fruits %}
    <li>{{fruit}}</li>
  {% endfor %}
</ul>

Données imbriquées

Il est tout à fait possible d’utiliser des données imbriquées dans une boucle. Si nous définissons par exemple les données suivantes :

{
  "lignesDeFacture": [
    { "produit": "délicieuses gauffres", "quantite": 42 },
    { "produit": "brownies magiques", "quantite": 24 }
  ]
}

Dans notre modèle nous pouvons faire appel à ces informations pour chaque élément :

<ul>
  {% for ligne in lignesDeFacture %}
    <li>{{ligne.quantite}} {{ligne.produit}}</li>
  {% endfor %}
</ul>

Listes vides

Si vous souhaitez gérer le cas où une liste est vide, le mot-clé else peut se montrer utile :

{% for conditionParticuliere in contrat.conditionParticulieres %}
  <p>{{conditionParticuliere}}</p>
{% else %}
  <p>Aucune condition particulière.</p>
{% endfor %}

Usage avancées

Liquid propose de nombreusex mot-clés pour parcourir une liste. Vous pouvez créer des tableaux, utiliser des intervalles numériques, inverser une liste ou définir une limite ou un décalage.

Pour en savoir plus, consultez la documentation de liquid (EN).