Så hoppar du över rader i ett block med dynamisk tabell
Du kommer att lära dig
Läs mer om hur du kan hoppa över rader (t.ex. artiklar) i ett dynamiskt tabellblock. Det vanligaste användningsfallet är att dölja irrelevanta artiklar, som fraktförsäkring eller gratis gåvor, från ett e-postmeddelande om övergiven kundvagn. Du kan dock följa de här stegen för alla e-postmeddelanden som använder ett dynamiskt tabellblock.
Den här processen innebär att du redigerar koden i ditt e-postmeddelande direkt. Detta rekommenderas endast för tekniskt kunniga marknadsförare eller för dig som har tillgång till en utvecklare. Vårt supportteam kan inte hjälpa dig att skriva anpassad kod utöver den allmänna vägledning som beskrivs i den här dokumentationen. För att upprätthålla säkerheten för dina data kan Klaviyos supportteam inte öppna HTML-filer.
Innan du börjar
Den här artikeln beskriver hur du döljer objekt i befintliga dynamiska tabellblock. Om du ännu inte har skapat ett fungerande dynamiskt tabellblock (t.ex. produkterna i ett e-postmeddelande om en övergiven kundvagn eller en orderbekräftelse) kan du läsa mer om hur du skapar ett från grunden eller börja med ett meddelande i vårt flödesbibliotek.
Skriv dina if -satser
Innan du gör ändringar i din mall ska du skapa 2 kodsnippet med hjälp av en text- eller kodredigerare (någonstans där du kan kopiera och klistra in kodsnippetten från senare). Varje kodsnippet består av 3 delar:
- En inledande if -etikett,
{% if ... %}, som anger vilka objekt som ska visas i ditt tabellblock. - Innehåll, till exempel en bildetikett eller text om produkten.
- En avslutande etikett,
{% endif %}.
Skapa den inledande if etiketten
Här är några exempel på öppnande if -etiketter:
Etikett | Betydelse |
{% if item.price != 0 %} | Om artikelpriset (item.price) är något annat än 0. |
{% if item.product.name != "Route Shipping Insurance" %} | Om artikelnamnet (item.product.name) är något annat än ”Route Shipping Insurance.” |
{% if not "T-Shirt" in item.product.title %} | Om objektets titel (item.product.title) inte innehåller ”T-shirt”. |
{% if item.title %} | Om objektets titel (item.title) är inställd (dvs. har något värde). |
De här etiketterna är skiftlägeskänsliga och måste matcha dina data exakt. Om variabeln för artikelns pris till exempel är något annat än item.price (t.ex. item.Price eller item.details.line_price) uppdaterar du koden så att den matchar din datakälla.
Skapa innehållet för if-satsen
Följ de här stegen för innehåll för att använda det befintliga innehållet från ditt block med dynamisk tabell. Skriv det här kodsnippettet i en kod- eller textredigerare; du lägger till det i din mall i nästa avsnitt.
- Under Cellinnehåll för tabellblockets bild klickar du på Ersätt för att visa bildplatshållaren.
- Kopiera hela koden från fältet Dynamisk variabel eller dynamisk URL. Observera att det kan vara en enkel dynamisk variabel eller ett längre kodsnippet; kopiera allt, oavsett längd.
- Ersätt platshållaren i det här kodsnippetet med koden som du kopierade från fältet Dynamisk variabel eller dynamisk URL.
<img src="PLACEHOLDER" style="width: 200px; height: auto;" width="200"> Om ditt befintliga tabellblock har en enkel dynamisk variabel för bilden kommer det resulterande innehållet att se ut ungefär så här:
<img src="{{item.product.variant.images.0.src}}" style="width: 200px; height: auto;" width="200"> Om ditt befintliga tabellblock innehåller ett längre kodsnippet kan det resulterande innehållet se ut så här:
<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"> Lägg till din slutetikett
Sedan sätter du ihop allt innehåll: din inledande if-sats, sedan ditt innehåll och till sist en avslutande {% endif %} -etikett.
Upprepa för textinnehållet
Upprepa sedan den här processen med innehållet från den högra sidan av ditt tabellblock (t.ex. textinnehållet). Klicka på </> för att öppna kodredigeraren och kopiera allt HTML-innehåll, och omslut sedan det här innehållet med samma if-sats (steg 1 och 3) som du använde för bildinnehållet.
Så här ser allt ut tillsammans:
Kodsnippet 1 (produktbild) | Kodsnippet 2 (produktinformation) |
|
|
Och här är en genomgång av de kodsnippen:
Kodsnippet 1 (produktbild) | Kodsnippet 2 (produktinformation) |
|
|
När du använder dessa kodsnippet ska du se till att använda raka citattecken (") i stället för typografiska citattecken (“) så att koden återges korrekt.
När du har skrivit båda kodsnippen fortsätter du i mallredigeraren genom att följa stegen nedan.
Hoppa över rader i ett dynamiskt tabellblock
Innan du redigerar ditt dynamiska tabellblock kan du överväga att spara originalblocket som Universalinnehåll ifall du behöver hänvisa till det i framtida meddelanden. Koppla sedan bort blocket och redigera det separat så att dina ändringar inte sparas i Universalinnehåll-blocket.
- Om ditt e-postmeddelande ingår i ett flöde ställer du in det på Utkast eller Manuell så att meddelanden inte skickas medan du redigerar flödesmeddelandet.
- Se till att Cellinnehåll för båda kolumnerna i det nya tabellblocket är inställt på Text.
- Klicka på </> för att öppna HTML-redigeraren för vänster sida av tabellblocket.
- Kopiera kodsnippet för produktbilden som du skapade i föregående avsnitt och klistra in den i HTML-fältet.
- Klicka på Klart uppe till vänster.
- Gå till redigeraren för tabellblockets högra sida.
- Klicka på </> för att öppna HTML-redigeraren för den högra sidan av tabellblocket.
- Kopiera kodsnippet för produktinformation som du skapade i föregående avsnitt och klistra in den i HTML-fältet och ersätt allt tidigare innehåll.
- Klicka på Klar.
- Förhandsgranska e-postmeddelandet för att säkerställa att det visas som förväntat: det överhoppade objektet ska inte visas, men alla andra objekt visas som vanligt. Se till att förhandsgranska med en händelse som innehåller objektet som du försöker dölja, så att du kan säkerställa att det är dolt.
Villkorssatser och inline-textredigeraren
När du lägger till vissa villkorssatser i ett textblock kan de försvinna från inline-textredigeraren. Koden finns fortfarande kvar, den är bara dold. För att visa och redigera villkorsstyrda satser använder du Django Tag Builder eller flyttar innehållet till ett dedikerat HTML-block för direkt kodredigering.
Följande etiketter visas inte i den inbyggda textredigeraren, men de finns kvar i textblocket:
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif %}
- {% with ... %}
- {% endwith %}
Felsökning
Inga objekt visas i förhandsgranskningen
- Se till att du förhandsgranskar med en händelse som matchar den datakälla du använde (t.ex. Started checkout för ett meddelande om övergiven kundvagn).
- Bekräfta att Upprepa för och Radalias exakt matchar Radsamling och Radalias från det ursprungliga blocket.
Objektet som ska hoppas över visas fortfarande
Kontrollera stavningen och versaliseringen i din if-sats. Om produkten fortfarande visas betyder det att den uppfyller kriterierna i ditt if-uttryck, så ditt if-uttryck är inte korrekt konfigurerat. Läs mer om villkorslogik i mallar.
Utfall
När du har följt de här stegen visas inte längre objekt som inte uppfyller kriterierna i din if-sats i meddelanden som e-post om övergiven kundvagn eller orderbekräftelse.
Ytterligare resurser
- Referens för personanpassning av meddelanden
Lär dig hur du använder Klaviyo-malltaggar, eller etiketter, för att anpassa dina kunders upplevelse.
- Så importerar du en anpassad HTML-mall
Lär dig hur du importerar en anpassad HTML-mall till Klaviyo.