Brevo propose deux méthodes pour répéter un bloc d’éléments dans vos emails : en utilisant un bloc Contenu dynamique dans l’éditeur d’email Drag & Drop ou en saisissant les boucles for manuellement.
Cet article traite de la méthode manuelle. Si vous préférez utiliser un bloc Contenu dynamique, consultez notre article dédié Comprendre le bloc de contenu dynamique.
Utilisez une boucle for pour afficher dynamiquement tous les éléments d'un tableau. Cela est particulièrement utile lorsque le nombre d’éléments du tableau est inconnu, comme une liste d’articles de blog hebdomadaires ou un reçu pour les produits achetés.
Vous pouvez utiliser une boucle for en fonction de différents critères :
-
Données d’événement
Personnalisez le contenu en fonction des actions que vos contacts ont (ou n’ont pas) effectuées. Par exemple, vous pouvez afficher un bloc promotionnel uniquement aux contacts qui n’ont jamais passé de commande. -
Flux de données
Personnalisez le contenu à l’aide des données en temps réel de flux externes. Par exemple, vous pouvez proposer des recommandations de produits personnalisées, une tarification en direct ou des informations d'une boutique localisée en fonction de données externes. -
Flux produit
Personnalisez le contenu à l’aide des informations sur les produits de votre site web d'eCommerce. Par exemple, vous pouvez présenter vos produits les plus vendus ou des recommandations de produits personnalisées.
Qu'est-ce qu'une boucle for ?
Une boucle for est une structure de programmation utilisée pour répéter un bloc de code pour chaque élément d'un tableau. Au lieu de faire référence manuellement à chaque index, la boucle parcourt le tableau et affiche chaque élément automatiquement.
Dans les templates d’email, les boucles for vous permettent d’afficher dynamiquement des contenus tels que les suivants :
- Un reçu répertoriant tous les articles qu’un client a achetés.
- Un email de rappel indiquant les articles qu'un client a laissés dans son panier.
- Une campagne RSS affichant les derniers articles de blog.
- Un email personnalisé avec des recommandations de produits à jour provenant d’un flux de données externe.
Structure et syntaxe d'une boucle for
La syntaxe d'une boucle for peut varier en fonction du type d'élément répété. Dans nos exemples, remplacez placeholder, array et variable par les données appropriées pour l’élément que vous souhaitez répéter, comme expliqué dans le tableau suivant :
| Données d'événement | Flux de données | Flux produit | |
|---|---|---|---|
placeholder |
Utilisez le nom exact du tableau dans votre structure JSON, mais au singulier. |
Pour les flux de données, le placeholder est toujours item. | Pour les flux produit, le placeholder est toujours item. |
array |
Utilisez |
Utilisez
|
Utilisez |
variable |
Utilisez la variable d'événement correspondante pour afficher l'élément souhaité. Pour en savoir plus, consultez notre section dédiée dans l’article [Mode d’emploi] Personnaliser vos messages avec du contenu dynamique (langage de template de Brevo). |
Utilisez les variables de flux de données correspondantes telles qu’elles sont affichées dans votre fichier de source de données externe. |
Utilisez les variables de flux produit correspondantes telles qu’elles sont affichées sur votre site web d'eCommerce. |
for, in
Affiche tous les éléments d’un tableau sous forme de liste.
| Syntaxe | |
|---|---|
{% for placeholder in array %}
|
Ouvrez l'onglet correspondant au type de données que vous souhaitez afficher :
| Exemple d'entrée | |
|---|---|
{% for item in params.items %}
|
|
| Exemple de sortie | |
|
Chaussures noires - 99 € Chemise blanche - 20 € Pantalon rouge - 49 € |
| Exemple d'entrée | |
|---|---|
{% for item in feed.yogaclasses.following_classes %}
|
|
| Exemple de sortie | |
|
Power Flow Yoga, le 07/03/2025 à 9 h 00 Yoga du soir restauratif, le 07/03/2025 à 19 h 00 Les bases du hatha yoga, le 08/03/2025 à 10 h 30 |
| Exemple d'entrée | |
|---|---|
{% for item in feed.mats_bestseller.products %}
|
|
| Exemple de sortie | |
|
Chaussures noires - 99 € Chemise blanche - 20 € Pantalon rouge - 49 € |
else
Affiche un bloc de remplacement si un tableau est vide.
| Syntaxe |
|---|
{% for placeholder in array %} |
| Exemple d'entrée |
{% for user in params.users %} |
| Exemple de sortie |
|
Aucun utilisateur trouvé |
limit
Limite la boucle au nombre d'itérations spécifié.
| Syntaxe |
|---|
{% for placeholder in array limit:# %}
|
| Exemple d'entrée |
{% for item in params.items limit:2 %}
|
| Exemple de sortie |
|
Produit a Produit b |
reversed
Inverse l'ordre d'impression des articles de votre tableau.
| Syntaxe |
|---|
{% for placeholder in array reversed %}
|
| Exemple d'entrée |
{% for country in params.countries reversed %}
|
| Exemple de sortie |
|
Zimbabwe Suède Mexique Allemagne Argentine |
Counter
Se définit sur un entier représentant le nombre d'itérations de la boucle, à partir de 1. Cela est utile pour numéroter les éléments d'une boucle, par exemple.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for product in params.products %}
|
| Exemple de sortie |
|
1. Produit a 2. Produit b 3. Produit c |
Counter0
Se définit sur un entier représentant le nombre d'itérations de la boucle, en commençant par 0.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for product in params.products %}
|
| Exemple de sortie |
|
0. Produit a 1. Produit b 2. Produit c |
Revcounter
Se définit sur un entier représentant le nombre d'éléments restant dans la boucle. Il commence par le nombre total d'éléments et arrive à 1 lors de la dernière itération.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for product in params.products %}
|
| Exemple de sortie |
|
5. Produit e 4. Produit d 3. Produit c 2. Produit b 1. Produit a |
Revcounter0
Se définit sur un entier représentant le nombre d'éléments restant dans la boucle. Il commence par le nombre total d'éléments et arrive à 0 lors de la dernière itération.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for product in params.products %}
|
| Exemple de sortie |
|
4. Produit e 3. Produit d 2. Produit c 1. Produit b 0. Produit a |
if
Affiche une liste d’éléments en fonction de conditions spécifiques.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for product in params.products %}
|
| Exemple de sortie |
|
Produit a : 89 € Produit c : 105 € Produit e : 54 € |
➡️ Pour en savoir plus sur les instructions if, consultez notre article dédié [Mode d'emploi] Afficher ou masquer le contenu de vos emails avec des instructions if.
forloop.First
Un booléen défini sur True sur la première itération de la boucle. Cela est utile pour gérer le premier élément différemment, par exemple en appliquant le filtre "majuscules" uniquement au premier produit d’une liste.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for product in params.products %}
|
| Exemple de sortie |
|
1. PREMIER PRODUIT 2. Deuxième produit 3. Troisième produit |
forloop.Last
Un booléen défini sur True sur la dernière itération de la boucle. Cela est utile pour gérer l’élément final différemment, par exemple en omettant une virgule de fin dans une liste.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for product in params.products %}
|
| Exemple de sortie |
|
Produit a, Produit b, Produit c |
forloop.Parentloop
Fait référence à l'objet forloop de la boucle parente dans les boucles imbriquées.
| Syntaxe |
|---|
{% for placeholder in array %}
|
| Exemple d'entrée |
{% for country in countries %}
|
| Exemple de sortie |
|
Pays n° 1 : États-Unis Ville n° 1 : New York Ville n° 2 : Los Angeles Ville n° 3 : Chicago Pays n° 2 : Allemagne Ville n° 1 : Berlin Ville n° 2 : Munich Ville n° 3 : Hambourg |
⏭️ Et après ?
- [Mode d’emploi] Personnaliser vos messages avec du contenu dynamique (langage de template de Brevo)
- [Mode d'emploi] Afficher ou masquer le contenu de vos emails avec des instructions if
- Modifier la sortie d’une variable à l’aide des filtres
🤔 Vous avez des questions ?
Pour toute question, n’hésitez pas à contacter notre service client en créant un ticket à partir de votre compte. Si vous n’avez pas encore de compte, vous pouvez nous contacter ici.
Si vous avez besoin d'aide pour un projet impliquant Brevo, nous pouvons vous mettre en relation avec une agence partenaire Brevo.