Brevo offre due metodi per ripetere un blocco di elementi nelle tue email: utilizzando un blocco Dynamic content (Contenuti dinamici) nell'editor di email drag & drop, oppure digitando manualmente i cicli for.
Questo articolo illustra il metodo manuale. Se preferisci utilizzare un blocco Dynamic content (Contenuti dinamici), consulta il nostro articolo dedicato Comprensione del blocco di contenuti dinamici.
Utilizza un ciclo for per visualizzare in modo dinamico tutti gli elementi di un array. Ciò risulta particolarmente utile quando il numero di elementi nell'array è sconosciuto, ad esempio una lista di post settimanali del blog o una ricevuta per i prodotti acquistati.
Puoi utilizzare un ciclo for in base a diversi criteri:
-
Dati dell'evento
Personalizza il contenuto in base alle azioni che i tuoi contatti hanno (o non hanno) intrapreso. Ad esempio, puoi mostrare un blocco promozionale solo ai contatti che non hanno mai effettuato un ordine. -
Feed di dati
Personalizza il contenuto utilizzando dati in tempo reale da feed esterni. Ad esempio, puoi mostrare consigli personalizzati sui prodotti, prezzi in tempo reale o informazioni localizzate sul negozio in base a dati esterni. -
Feed di prodotto
Personalizza il contenuto utilizzando le informazioni sui prodotti del tuo sito di e-commerce. Ad esempio, puoi mostrare i tuoi prodotti più venduti o consigli personalizzati sui prodotti.
Che cos'è un ciclo for?
Un ciclo for è una struttura di programmazione utilizzata per ripetere un blocco di codice per ogni elemento in un array. Anziché fare riferimento manualmente a ciascun indice, il ciclo esegue un'iterazione nell'array e visualizza automaticamente ogni elemento.
Nei modelli di email, i cicli for ti consentono di visualizzare in modo dinamico contenuti come:
- Una ricevuta che elenca tutti gli articoli acquistati da un cliente.
- Un'email di promemoria che mostra gli articoli rimasti nel carrello di un cliente.
- Una campagna RSS che mostra gli ultimi articoli del blog.
- Un'email personalizzata con consigli sui prodotti aggiornati da un feed di dati esterno.
Struttura e sintassi di un ciclo for
La sintassi di un ciclo for può variare in base al tipo di elemento che viene ripetuto. Nei nostri esempi, sostituisci placeholder (segnaposto), array e variable (variabile) con i dati appropriati per l'elemento che desideri ripetere, come spiegato nella tabella seguente:
| Dati dell'evento | Feed di dati | Feed di prodotto | |
|---|---|---|---|
placeholder |
Utilizza il nome esatto dell'array nella tua struttura JSON, ma al singolare. |
Per i feed di dati, il segnaposto è sempre item. | Per i feed di prodotto, il segnaposto è sempre item. |
array |
Utilizza |
Utilizza
|
Utilizza |
variable |
Utilizza la variabile di evento corrispondente per visualizzare l'elemento desiderato. Per ulteriori informazioni, consulta la nostra sezione dedicata nell'articolo [Manuale] Personalizzazione dei messaggi con contenuti dinamici (linguaggio per modelli Brevo). |
Utilizza le variabili di feed di dati corrispondenti come visualizzate nel tuo file di origine dati esterno. |
Utilizza le variabili di feed di prodotto corrispondenti come visualizzate nel tuo sito di e-commerce. |
for, in
Mostra tutti gli elementi in un array sotto forma di lista.
| Sintassi | |
|---|---|
{% for placeholder in array %}
|
Apri la scheda corrispondente al tipo di dati che vuoi visualizzare:
| Input di esempio | |
|---|---|
{% for item in params.items %}
|
|
| Output di esempio | |
|
Scarpe nere - 99 $ Camicia bianca - 20 $ Pantaloni rossi - 49 $ |
| Input di esempio | |
|---|---|
{% for item in feed.yogaclasses.following_classes %}
|
|
| Output di esempio | |
|
Power Flow Yoga - 07/03/2025 alle 9:00 Serata rivitalizzante - 07/03/2025 alle 19:00 Hatha Yoga base - 08/03/2025 alle 10:30 |
| Input di esempio | |
|---|---|
{% for item in feed.mats_bestseller.products %}
|
|
| Output di esempio | |
|
Scarpe nere - 99 $ Camicia bianca - 20 $ Pantaloni rossi - 49 $ |
else
Mostra un blocco sostitutivo se un array è vuoto.
| Sintassi |
|---|
{% for placeholder in array %} |
| Input di esempio |
{% for user in params.users %} |
| Output di esempio |
|
Nessun utente trovato |
limit
Limita il ciclo al numero di iterazioni specificato.
| Sintassi |
|---|
{% for placeholder in array limit:# %}
|
| Input di esempio |
{% for item in params.items limit:2 %}
|
| Output di esempio |
|
Prodotto a Prodotto b |
reversed
Inverte l'ordine di stampa degli elementi nell'array.
| Sintassi |
|---|
{% for placeholder in array reversed %}
|
| Input di esempio |
{% for country in params.countries reversed %}
|
| Output di esempio |
|
Zimbabwe Svezia Messico Germania Argentina |
Counter
Imposta un numero intero che rappresenta il conteggio delle iterazioni del ciclo, a partire da 1. Questo è utile, ad esempio, per numerare gli elementi in un ciclo.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for product in params.products %}
|
| Output di esempio |
|
1. Prodotto a 2. Prodotto b 3. Prodotto c |
Counter0
Imposta un numero intero che rappresenta il conteggio delle iterazioni del ciclo, a partire da 0.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for product in params.products %}
|
| Output di esempio |
|
0. Prodotto a 1. Prodotto b 2. Prodotto c |
Revcounter
Imposta un numero intero che rappresenta il numero di elementi restanti nel ciclo. Inizia dal numero totale di elementi e diminuisce fino a 1 nell'iterazione finale.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for product in params.products %}
|
| Output di esempio |
|
5. Prodotto e 4. Prodotto d 3. Prodotto c 2. Prodotto b 1. Prodotto a |
Revcounter0
Imposta un numero intero che rappresenta il numero di elementi restanti nel ciclo. Inizia dal numero totale di elementi e diminuisce fino a 0 nell'iterazione finale.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for product in params.products %}
|
| Output di esempio |
|
4. Prodotto e 3. Prodotto d 2. Prodotto c 1. Prodotto b 0. Prodotto a |
if
Mostra una lista di elementi in base a condizioni specifiche.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for product in params.products %}
|
| Output di esempio |
|
Prodotto a - 89 $ Prodotto c - 105 $ Prodotto e - 54 $ |
➡️ Per ulteriori informazioni sulle istruzioni if, consulta il nostro articolo dedicato [Manuale] Come mostrare o nascondere il contenuto nelle email utilizzando le istruzioni if.
forloop.First
Valore booleano impostato su True alla prima iterazione del ciclo. Questo è utile per gestire in modo diverso il primo elemento, ad esempio applicando il filtro "upper" (maiuscole) solo al primo prodotto di una lista.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for product in params.products %}
|
| Output di esempio |
|
1. PRIMO PRODOTTO 2. Secondo prodotto 3. Terzo prodotto |
forloop.Last
Valore booleano impostato su True all'ultima iterazione del ciclo. Questo è utile per gestire in modo diverso l'ultimo elemento, ad esempio rimuovendo la virgola finale da una lista.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for product in params.products %}
|
| Output di esempio |
|
Prodotto a, Prodotto b, Prodotto c |
forloop.Parentloop
Fa riferimento all'oggetto forloop del ciclo padre nei cicli nidificati.
| Sintassi |
|---|
{% for placeholder in array %}
|
| Input di esempio |
{% for country in countries %}
|
| Output di esempio |
|
Paese n. 1: Stati Uniti Città n. 1: New York Città n. 2: Los Angeles Città n. 3: Chicago Paese n. 2: Germania Città n. 1: Berlino Città n. 2: Monaco di Baviera Città n. 3: Amburgo |
⏭️ E adesso?
- [Manuale] Personalizzazione dei messaggi con contenuti dinamici (linguaggio per modelli Brevo)
- [Manuale] Come mostrare o nascondere il contenuto nelle email utilizzando le istruzioni if
- Modifica dell'output di una variabile con i filtri
🤔 Domande?
In caso di domande, non esitare a contattare il team dell’assistenza creando un ticket dal tuo account. Se ancora non hai un account, puoi contattarci qui.
Se stai cercando aiuto per un progetto che prevede l'utilizzo di Brevo, possiamo metterti in contatto con l'agenzia partner di Brevo giusta per te.