So überspringst du Zeilen in einem dynamischen Tabellenblock
Übersicht
Erfahre, wie du Zeilen (z. B. Artikel) in einem dynamischen Tabellenblock überspringst. Der häufigste Anwendungsfall dafür ist, irrelevante Artikel – wie Versandversicherung oder Gratisgeschenke – in einer Warenkorbabbruch-E-Mail auszublenden. Du kannst diese Schritte jedoch für jede E-Mail befolgen, die einen dynamischen Tabellenblock verwendet.
Bei diesem Prozess bearbeitest du den Code deiner E-Mail direkt. Dies wird nur für technisch versierte Marketer*innen oder für alle empfohlen, die Zugang zu einem/einer Entwickler*in haben. Unser Support-Team kann dir nicht dabei helfen, benutzerdefinierten Code zu schreiben, der über die allgemeinen Hinweise in dieser Dokumentation hinausgeht. Um die Sicherheit deiner Daten zu gewährleisten, kann das Support-Team von Klaviyo keine HTML-Dateien öffnen.
Bevor du anfängst
In diesem Artikel wird erklärt, wie du Elemente in vorhandenen dynamischen Tabellenblöcken ausblendest. Falls du noch keinen funktionierenden dynamischen Tabellenblock erstellt hast (z. B. die Produkte in einer E-Mail zu einem Warenkorbabbruch oder einer Bestellbestätigungs-E-Mail), erfahre, wie du einen von Grund auf erstellst oder mit einer Nachricht in unserer Flow-Bibliothek startest.
Schreibe deine if -Anweisungen
Bevor du Änderungen an deiner Vorlage vornimmst, erstelle mit einem Text- oder Code-Editor 2 Code-Fragmente (an einem Ort, von dem aus du die Fragmente später kopieren und einfügen kannst). Jedes Code-Fragment besteht aus 3 Teilen:
- Ein öffnender if -Tag,
{% if ... %}, der angibt, welche Elemente in deinem Tabellenblock angezeigt werden sollen. - Inhalt, wie ein Bild-Tag oder Text über das Produkt.
- Ein abschließendes Tag,
{% endif %}.
Erstelle den öffnenden if Tag
Hier sind einige Beispiele für das Öffnen von if -Tags:
Tag | Bedeutung |
{% if item.price != 0 %} | Wenn der Artikelpreis (item.price) etwas anderes als 0 ist. |
{% if item.product.name != "Route Shipping Insurance" %} | Wenn der Artikelname (item.product.name) etwas anderes als „Route Shipping Insurance“ ist. |
{% if not "T-Shirt" in item.product.title %} | Wenn der Titel des Artikels (item.product.title) „T-Shirt“ nicht enthält. |
{% if item.title %} | Wenn der Titel des Elements (item.title) festgelegt ist (d. h., einen beliebigen Wert hat). |
Bei diesen Tag wird zwischen Groß- und Kleinschreibung unterschieden und er muss exakt mit deinen Daten übereinstimmen. Wenn die Variable für den Preis deines Artikels zum Beispiel etwas anderes als item.price ist (z. B. item.Price oder item.details.line_price), Aktualisiere den Code, damit er zu deiner Datenquelle passt.
Erstelle den Inhalt für die if-Anweisung
Gehe für den Inhalt so vor, um die vorhandenen Inhalte aus deinem dynamischen Tabellenblock zu verwenden. Schreibe dieses Code-Fragment in einen Code- oder Texteditor; im nächsten Abschnitt fügst du es zu deiner Vorlage hinzu.
- Klicke unter Zelleninhalt für das Bild des Tabellenblocks auf Ersetzen, um den Bild-Platzhalter anzuzeigen.
- Kopiere den gesamten Code aus dem Feld Dynamische Variable oder dynamische URL. Beachte, dass es sich dabei um eine einfache dynamische Variable handeln kann oder um ein längeres Code-Fragment. Kopiere alles, unabhängig von der Länge.
- Ersetze den Platzhalter in diesem Code-Fragment durch den Code, den du aus dem Feld Dynamische Variable oder dynamische URL kopiert hast.
<img src="PLACEHOLDER" style="width: 200px; height: auto;" width="200"> Wenn dein bestehender Tabellenblock eine einfache dynamische Variable für das Bild enthält, sieht der resultierende Inhalt ungefähr so aus:
<img src="{{item.product.variant.images.0.src}}" style="width: 200px; height: auto;" width="200"> Wenn dein vorhandener Tabellenblock ein längeres Code-Fragment enthält, könnte der resultierende Inhalt wie folgt aussehen:
<img src="{% if item.product.variant.images.0.src %}{{item.product.variant.images.0.src}}{%else%}{{item.product.images.0.src|missing_product_image}}{%endif%}" style="width: 200px; height: auto;" width="200"> Füge dein schließendes Tag hinzu
Füge dann alle Inhalte zusammen: deine öffnende if-Anweisung, dann deinen Inhalt und schließlich einen schließenden {% endif %} -Tag.
Wiederhole den Vorgang für den Textinhalt
Wiederhole dann diesen Vorgang mit dem Inhalt von der rechten Seite deines Tabellenblocks (z. B. dem Textinhalt). Klicke auf </>, um den Code-Editor zu öffnen, und kopiere den gesamten HTML-Inhalt. Umschließe diesen Inhalt dann mit derselben if-Anweisung (Schritte 1 und 3), die du für den Bildinhalt verwendet hast.
So sieht alles zusammen aus:
Code-Fragment 1 (Produktbild) | Code-Fragment 2 (Produktdetails) |
|
|
Und hier ist eine Aufschlüsselung dieser Code-Fragmente:
Code-Fragment 1 (Produktbild) | Code-Fragment 2 (Produktdetails) |
|
|
Wenn du diese Code-Fragmente verwendest, achte darauf, gerade Anführungszeichen („) statt typografischer Anführungszeichen (“) zu verwenden, damit der Code korrekt gerendert wird.
Sobald du beide Code-Fragmente geschrieben hast, fahre im Vorlagen-Editor fort, indem du die folgenden Schritte befolgst.
Zeilen in einem dynamischen Tabellenblock überspringen
Bevor du deinen dynamischen Tabellenblock bearbeitest, solltest du den ursprünglichen Block als universellen Inhalt speichern, falls du ihn in zukünftigen Nachrichten als Referenz benötigst. Trenne dann die Verknüpfung des Blocks und bearbeite ihn separat, damit deine Änderungen nicht im universellen Inhaltsblock gespeichert werden.
- Wenn deine E-Mail Teil eines Flows ist, setze sie auf Entwurf oder Manuell, damit keine Nachrichten gesendet werden, während du die Flow-Nachricht bearbeitest.
- Stell sicher, dass der Zelleninhalt für beide Spalten des neuen Tabellenblocks auf Text eingestellt ist.
- Klicke auf </>, um den HTML-Editor für die linke Seite des Tabellenblocks zu öffnen.
- Kopiere das Code-Fragment für das Produktbild, das du im vorherigen Abschnitt erstellt hast, und füge es in das HTML-Feld ein.
- Klicke oben links auf Fertig .
- Navigiere zum Editor für die rechte Seite des Tabellenblocks.
- Klicke auf </>, um den HTML-Editor für die rechte Seite des Tabellenblocks zu öffnen.
- Kopiere das Code-Fragment mit den Produktdetails, das du im vorherigen Abschnitt erstellt hast, und füge es in das HTML-Feld ein, wobei du alle bisherigen Inhalte ersetzt.
- Klicke auf Fertig.
- Sieh dir die Vorschau der E-Mail an, um sicherzustellen, dass sie wie erwartet angezeigt wird: Das übersprungene Element sollte nicht angezeigt werden, alle anderen Elemente werden jedoch wie gewohnt angezeigt. Achte darauf, eine Vorschau mit einem Ereignis anzuzeigen, das das Element enthält, das du ausblenden möchtest, damit du sicherstellen kannst, dass es ausgeblendet ist.
Bedingte Anweisungen und der Inline-Texteditor
Wenn du bestimmte bedingte Anweisungen zu einem Textblock hinzufügst, werden diese möglicherweise im Inline-Texteditor nicht mehr angezeigt. Der Code ist jedoch immer noch vorhanden, er wird nur versteckt. Um bedingte Anweisungen anzuzeigen und zu bearbeiten, verwende den Django Tag Builder oder verschiebe den Inhalt in einen dedizierten HTML-Block, um den Code direkt zu bearbeiten.
Die folgenden Tags werden nicht im Inline-Texteditor angezeigt, bleiben aber im Textblock erhalten:
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif %}
- {% with ... %}
- {% endwith %}
Fehlerbehebung
In der Vorschau werden keine Elemente angezeigt
- Stelle sicher, dass du die Vorschau mit einem Ereignis ansiehst, das zur verwendeten Datenquelle passt (z. B. Started checkout für eine Nachricht zum Warenkorbabbruch).
- Bestätige, dass Wiederholen für und Zeilenalias exakt mit Zeilensammlung und Zeilenalias aus dem ursprünglichen Block übereinstimmen.
Das Element, das übersprungen werden soll, wird weiterhin angezeigt
Prüfe die Rechtschreibung und Groß-/Kleinschreibung deiner if-Anweisung. Wenn das Produkt weiterhin angezeigt wird, bedeutet das, dass es die Kriterien in deiner if-Anweisung erfüllt, daher ist deine if-Anweisung nicht korrekt konfiguriert. Erfahre mehr über bedingte Logik in Vorlagen.
Ergebnis
Nachdem du diese Schritte befolgt hast, werden Artikel, die die Kriterien in deiner if-Anweisung nicht erfüllen, nicht in Nachrichten wie E-Mails zu Warenkorbabbrüchen oder Bestellbestätigungs-E-Mails angezeigt.