[Manuale] Ripetizione di un blocco di elementi nelle email utilizzando i cicli for

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 params.array e sostituisci array con il nome esatto dell'array nella tua struttura JSON.

Utilizza feedname.array e sostituisci:

Utilizza feed.productfeedname.products e sostituisci productfeedname con il nome del tuo feed di prodotto come visualizzato nella pagina Product feeds (Feed di prodotto)

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 %}
variable
{% endfor %}

Apri la scheda corrispondente al tipo di dati che vuoi visualizzare:

Dati dell'evento Feed di dati Feed di prodotto
Input di esempio
{% for item in params.items %}
{{ item.name }} - {{ item.currency }}{{ item.price }}
{% endfor %}
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 %}
variable
{% else %}
Aggiungi qui il contenuto sostitutivo
{% endfor %}

Input di esempio
{% for user in params.users %}
{{ user.username }}
{% else %}
Nessun utente trovato
{% endfor %}
Output di esempio

Nessun utente trovato

limit

Limita il ciclo al numero di iterazioni specificato.

Sintassi
{% for placeholder in array limit:# %}
variable
{% endfor %}
Input di esempio
{% for item in params.items limit:2 %}
{{ item.name }}
{% endfor %}
Output di esempio

Prodotto a

Prodotto b

reversed

Inverte l'ordine di stampa degli elementi nell'array.

Sintassi
{% for placeholder in array reversed %}
{% endfor %}
Input di esempio
{% for country in params.countries reversed %}
{% endfor %}
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 %}
{{ forloop.Counter }}. variable
{% endfor %}
Input di esempio
{% for product in params.products %}
{{ forloop.Counter }}. {{ product.name }}
{% endfor %}
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 %}
{{ forloop.Counter0 }}. variable
{% endfor %}
Input di esempio
{% for product in params.products %}
{{ forloop.Counter0 }}. {{ product.name }}
{% endfor %}
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 %}
{{ forloop.Revcounter }}. variable
{% endfor %}
Input di esempio
{% for product in params.products %}
{{ forloop.Revcounter }}. {{ product.name }}
{% endfor %}
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 %}
{{ forloop.Revcounter0 }}. variable
{% endfor %}
Input di esempio
{% for product in params.products %}
{{ forloop.Revcounter0 }}. {{ product.name }}
{% endfor %}
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 %}
{% if condition}
variable
{% endif %}
{% endfor %}
Input di esempio
{% for product in params.products %}
{% if product.price > 50 %}
{{ product.name }} - {{ product.price }} $
{% endif %}
{% endfor %}
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 %}
{{ forloop.Counter }}.
{% if forloop.First %}
variable1
{% else %}
variable2
{% endif %}

{% endfor %}
Input di esempio
{% for product in params.products %}
{{ forloop.Counter }}.
{% if forloop.First %}
{{ product.name|upper }}
{% else %}
{{ product.name }}
{% endif %}
{% endfor %}
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 %}
variable{% if not forloop.Last %},{% endif %}
{% endfor %}
Input di esempio
{% for product in params.products %}
{{ product.name }}{% if not forloop.Last %},{% endif %}
{% endfor %}
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 %}
Paese n. {{ forloop.Counter }}: variable
{% for placeholder in array %}
Città n. {{ forloop.Counter }}: variable
{% endfor %}
{% endfor %}
Input di esempio
{% for country in countries %}
Paese n. {{ forloop.Counter }}: {{ country.name }}
{% for city in country.city_list %}
Città n. {{ forloop.Counter }}: {{ city }}
{% endfor %}
{% endfor %}
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?

🤔 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.

💬 Questo articolo ti è stato utile?

Utenti che ritengono sia utile: 5 su 17