[Handbuch] Wiederholung eines Blocks von Elementen in deinen E-Mails mit for-Schleifen

Brevo bietet zwei Methoden, um einen Block von Elementen in deinen E-Mails zu wiederholen: mit einem Block für dynamische Inhalte im Drag-and-Drop-E-Mail-Editor oder durch manuelle Eingabe von Schleifen (Loops).
In diesem Artikel wird die manuelle Methode behandelt. Wenn du lieber einen Block für dynamische Inhalte verwendest, lies unseren Artikel Verstehen des Blocks für dynamische Inhalte.

Verwende eine for-Schleife, um alle Elemente in einem Array dynamisch anzuzeigen. Das ist besonders nützlich, wenn die Anzahl der Artikel im Array nicht bekannt ist, z. B. bei einer Liste mit wöchentlichen Blogbeiträgen oder einer Quittung für gekaufte Artikel.

Du kannst eine for-Schleife verwenden, die auf verschiedenen Kriterien basiert:

  • Ereignisdaten
    Personalisiere Inhalte basierend auf den Aktionen, die deine Kontakte durchgeführt (oder nicht durchgeführt) haben. Beispielsweise könntest du einen Werbeblock nur den Kontakten zeigen, die noch nie eine Bestellung aufgegeben haben.
  • Datenfeeds
    Personalisiere Inhalte mit Echtzeitdaten aus externen Feeds. Beispielsweise kannst du personalisierte Artikel-Empfehlungen, Live-Preise oder lokalisierte Shop-Informationen auf Basis externer Daten anzeigen.
  • Produkt-Feed
    Personalisiere Inhalte durch Produktinformationen von deiner E-Commerce-Website. Du kannst beispielsweise deine meistverkauften Artikel oder personalisierte Produktempfehlungen anzeigen.

Was ist eine for-Schleife?

Bei einer for-Schleife handelt es sich um eine Programmierstruktur, mit der ein Codeblock für jedes Element in einem Array wiederholt wird. Anstatt jeden Index manuell zu referenzieren, iteriert die Schleife durch das Array und zeigt jedes Element automatisch an. 

In E-Mail-Templates hast du bei Schleifen die Möglichkeit, dynamisch Inhalte anzuzeigen, wie z. B.:

  • Eine Quittung, die alle Artikel auflistet, die ein:e Kund:in gekauft hat.
  • Eine Erinnerungs-E-Mail, die anzeigt, welche Artikel sich noch im Warenkorb eines/einer Kund:in befinden.
  • Eine RSS-Kampagne, die die neuesten Blog-Artikel anzeigt.
  • Eine individualisierte E-Mail mit aktuellen Produktempfehlungen aus einem externen Datenfeed.

Aufbau und Syntax einer for-Schleife

Die Syntax einer for-Schleife kann je nach Art des zu wiederholenden Elements variieren. Ersetze in unseren Beispielen placeholder, array und variable durch die entsprechenden Daten für das Element, das du wiederholen willst, wie in der folgenden Tabelle erklärt:

  Ereignisdaten Datenfeed Produkt-Feed
placeholder

Benutze den genauen Namen des Arrays in deiner JSON-Struktur, jedoch in der Singularform

Bei Datenfeeds ist der Platzhalter immer Artikel. Bei Produkt-Feeds ist der Platzhalter immer Artikel.
array

Verwende params.array und ersetze array durch den genauen Namen des Arrays in deiner JSON-Struktur.

Benutze feedname.array und ersetze:

  • feedname mit dem Namen deines Datenfeed-Alias.
  • arraymit dem genauen Namen des Arrays in deiner JSON-Struktur.

Verwende feed.productfeedname.products und ersetze productfeedname durch den Namen deines Produkt-Feeds, wie er auf der Seite Produkt-Feeds angezeigt wird. 

variable

Verwende die entsprechende Ereignis-Variable, um das gewünschte Element anzuzeigen.

Weitere Informationen findest du in unserem speziellen Bereich im Artikel [Handbuch] Personalisierung deiner Nachrichten mit dynamischen Inhalten (Brevo-Template-Sprache)

Verwende die entsprechenden Datenfeed-Variablen so, wie sie in deiner externen Datenquelldatei angezeigt werden.

Verwende die jeweiligen Produkt-Feed-Variablen so, wie sie auf deiner E-Commerce-Website angezeigt werden. 

for, in

Stellt alle Elemente in einem Array als Liste dar.

Syntax
{% for placeholder in array %}
variable
{% endfor %}

Öffnet die Registerkarte, die der Art der Daten entspricht, die du anzeigen möchtest:

Ereignisdaten Datenfeed Produkt-Feed
Beispiel für die Eingabe
{% for item in params.items %}
{{ item.name }} - {{ item.currency }}{{ item.price }}
{% endfor %}
Beispiel für die Ausgabe

Schwarze Schuhe – 99 $

Weißes Shirt – 20 $

Rote Hose – 49 $

else

Zeigt einen Ersatzblock an, wenn ein Array leer ist.

Syntax
{% for placeholder in array %}
variable
{% else %}
Füge deinen Ersatzinhalt hier ein
{% endfor %}

Beispiel für die Eingabe
{% for user in params.users %}
{{ user.username }}
{% else %}
Kein:e Benutzer:in gefunden
{% endfor %}
Beispiel für die Ausgabe

Kein:e Benutzer:in gefunden

limit

Begrenzt die Schleife auf die angegebene Anzahl von Wiederholungen.

Syntax
{% for placeholder in array limit:# %}
variable
{% endfor %}
Beispiel für die Eingabe
{% for item in params.items limit:2 %}
{{ item.name }}
{% endfor %}
Beispiel für die Ausgabe

Produkt a

Produkt b

reversed

Kehrt die Reihenfolge der Elemente in deinem Array um.

Syntax
{% for placeholder in array reversed %}
{% endfor %}
Beispiel für die Eingabe
{% for country in params.countries reversed %}
{% endfor %}
Beispiel für die Ausgabe

Simbabwe

Schweden

Mexiko

Deutschland

Argentinien

Counter

Setzt eine ganze Zahl ein, die die Anzahl der Schleifenwiederholungen angibt, beginnend bei 1. Dies ist beispielsweise nützlich, um Elemente in einer Schleife zu nummerieren.

Syntax
{% for placeholder in array %}
{{ forloop.Counter }}. variable
{% endfor %}
Beispiel für die Eingabe
{% for product in params.products %}
{{ forloop.Counter }}. {{ product.name }}
{% endfor %}
Beispiel für die Ausgabe

1. Produkt a

2. Produkt b

3. Produkt c

Counter0

Setzt eine ganze Zahl ein, die die Anzahl der Schleifenwiederholungen angibt, beginnend bei 0. 

Syntax
{% for placeholder in array %}
{{ forloop.Counter0 }}. variable
{% endfor %}
Beispiel für die Eingabe
{% for product in params.products %}
{{ forloop.Counter0 }}. {{ product.name }}
{% endfor %}
Beispiel für die Ausgabe

0. Produkt a

1. Produkt b

2. Produkt c

Revcounter

Setzt eine ganze Zahl ein, die die Anzahl der verbleibenden Elemente in der Schleife angibt. Sie beginnt mit der Gesamtzahl der Artikel und sinkt bei der letzten Wiederholung auf 1.

Syntax
{% for placeholder in array %}
{{ forloop.Revcounter }}. variable
{% endfor %}
Beispiel für die Eingabe
{% for product in params.products %}
{{ forloop.Revcounter }}. {{ product.name }}
{% endfor %}
Beispiel für die Ausgabe

5. Produkt e

4. Produkt d

3. Produkt c

2. Produkt b

1. Produkt a

Revcounter0

Setzt eine ganze Zahl ein, die die Anzahl der verbleibenden Elemente in der Schleife angibt. Sie beginnt mit der Gesamtzahl der Artikel und sinkt bei der letzten Wiederholung auf 0.

Syntax
{% for placeholder in array %}
{{ forloop.Revcounter0 }}. variable
{% endfor %}
Beispiel für die Eingabe
{% for product in params.products %}
{{ forloop.Revcounter0 }}. {{ product.name }}
{% endfor %}
Beispiel für die Ausgabe

4. Produkt e

3. Produkt d

2. Produkt c

1. Produkt b

0. Produkt a

if

Zeigt eine Liste von Artikeln an, die auf bestimmten Bedingungen basieren.

Syntax
{% for placeholder in array %}
{% if condition}
variable
{% endif %}
{% endfor %}
Beispiel für die Eingabe
{% for product in params.products %}
{% if product.price > 50 %}
{{ product.name }} - ${{ product.price }}
{% endif %}
{% endfor %}
Beispiel für die Ausgabe

Produkt A – 89 $

Produkt c – 105 $

Produkt e – 54 $

➡️ Weitere Informationen zu if-Anweisungen findest du in unserem Artikel [Handbuch] Inhalte in E-Mails mit if-Anweisungen anzeigen oder ausblenden.

forloop.First

Ein boolescher Wert, der bei der ersten Schleifenwiederholung auf True gesetzt wird. Dies ist nützlich, um den ersten Artikel anders zu behandeln, z. B. indem der Filter „upper“ nur auf den ersten Artikel in einer Liste angewendet wird.

Syntax
{% for placeholder in array %}
{{ forloop.Counter }}.
{% if forloop.First %}
variable1
{% else %}
variable2
{% endif %}

{% endfor %}
Beispiel für die Eingabe
{% for product in params.products %}
{{ forloop.Counter }}.
{% if forloop.First %}
{{ product.name|upper }}
{% else %}
{{ product.name }}
{% endif %}
{% endfor %}
Beispiel für die Ausgabe

1. ERSTES PRODUKT

2. Zweites Produkt

3. Drittes Produkt

forloop.Last

Ein boolescher Wert, der bei der letzten Schleifenwiederholung auf True gesetzt wird.  Dies ist nützlich, um das letzte Element anders zu behandeln, beispielsweise um ein Komma am Ende einer Liste wegzulassen.

Syntax
{% for placeholder in array %}
variable{% if not forloop.Last %},{% endif %}
{% endfor %}
Beispiel für die Eingabe
{% for product in params.products %}
{{ product.name }}{% if not forloop.Last %},{% endif %}
{% endfor %}
Beispiel für die Ausgabe

Produkt a, Produkt b, Produkt c

forloop.Parentloop

Verweist auf das forloop-Objekt der übergeordneten Schleife in verschachtelten Schleifen.

Syntax
{% for placeholder in array %}
Country #{{ forloop.Counter }}: variable
{% for placeholder in array %}
City #{{ forloop.Counter }}: variable
{% endfor %}
{% endfor %}
Beispiel für die Eingabe
{% for country in countries %}
Land #{{ forloop.Counter }}: {{ country.name }}
{% for city in country.city_list %}
Stadt #{{ forloop.Counter }}: {{ city }}
{% endfor %}
{% endfor %}
Beispiel für die Ausgabe

Country #1: USA

Stadt #1: New York

Stadt #2: Los Angeles

Stadt #3: Chicago

Land #2: Deutschland

Stadt #1: Berlin

Stadt #2: München

Stadt #3: Hamburg

⏭️ Nächste Schritte

🤔 Sie haben eine Frage?

Wenden Sie sich bei Fragen an unser Support-Team: Erstellen Sie einfach ein Ticket über Ihr Konto. Wenn Sie noch kein Konto haben, können Sie uns hier kontaktieren.

Wenn Sie Unterstützung bei einem Projekt mit Brevo suchen, können wir Sie mit der richtigen zertifizierten Brevo-Partneragentur verbinden.

💬 War dieser Beitrag hilfreich?

5 von 17 fanden dies hilfreich