Hoe regels overslaan in een dynamisch tabelblok
Wat je leert
Leer hoe je rijen (bijv. items) kunt overslaan in een dynamisch tabelblok. De meest voorkomende toepassing hiervoor is het verbergen van irrelevante items, zoals verzendverzekeringen of gratis cadeau-items, uit een winkelwagen verlaten e-mail. Je kunt deze stappen echter volgen voor elke e-mail die een dynamisch tabelblok gebruikt.
Dit proces omvat het direct bewerken van de code van je e-mail. Dit is alleen aan te raden voor technisch onderlegde marketeers of degenen die toegang hebben tot een ontwikkelaar. Ons supportteam kan je niet helpen om aangepaste code te schrijven buiten de algemene richtlijnen in deze documentatie. Om de veiligheid van je gegevens te waarborgen, kan Klaviyo's supportteam geen HTML-bestanden openen.
Voordat je van start gaat
In dit artikel wordt uitgelegd hoe je items uit bestaande dynamische tabelblok kunt verbergen. Als je nog geen werkend dynamisch tabelblok hebt gemaakt (bijvoorbeeld de producten in een winkelwagen verlaten of bestelbevestigingse-mail), leer dan hoe je er een vanaf nul kunt maken of begin met een bericht in onze flow bibliotheek.
Schrijf je if-statementsSchrijf je if-statements
Maak, voordat je wijzigingen aanbrengt in je template, 2 codefragmenten met een tekst- of code-editor (ergens waar je later de fragmenten uit kunt kopiëren en plakken). Elk codefragment bestaat uit 3 delen:
-
Een opening als tag,
{% if … %}
, die aangeeft welke items in je tabelblok moeten verschijnen. - Inhoud, zoals een afbeelding tag of tekst over het product.
-
Een afsluitende tag,
{% endif %}
.
Maak de openende if-tag
Hier zijn enkele voorbeelden van het openen van if-tags:
Tag | Betekenis |
{% if item.price != 0 %} | Als de itemprijs(item.price) iets anders is dan 0. |
{% if item.product.name != "Route Shipping Insurance" %} | Als de artikelnaam(item.product.name) iets anders is dan "Route Verzekering". |
{% if not "T-Shirt" in item.product.title %} | Als de titel van het item(item.product.title) geen "T-Shirt" bevat. |
{% if item.title %} | Als de titel van het item(item.title) is ingesteld (d.w.z. een willekeurige waarde heeft). |
Deze tag is hoofdlettergevoelig en moet precies overeenkomen met je gegevens. Als de variabele voor de prijs van je item bijvoorbeeld iets anders is dan item.price (bijvoorbeeld item.Price of item.details.line_price), update de code zodat deze overeenkomt met je gegevensbron.
Maak de inhoud voor de if-instructie
Voor inhoud volg je deze stappen om de bestaande inhoud van je dynamische tabelblok te gebruiken. Schrijf dit codefragment in een code- of teksteditor; je voegt het toe aan je template in de volgende sectie.
- Klik onder Celinhoud voor de afbeelding van het tabelblok op Vervangen om de plaatshouder van de afbeelding weer te geven.
- Kopieer de volledige code uit het veld Dynamische variabele of dynamische URL. Merk op dat dit een eenvoudige dynamische variabele kan zijn, of een langer codefragment; kopieer alles, ongeacht de lengte.
- Vervang de plaatshouder in dit codefragment door de code die je hebt gekopieerd uit het veld Dynamische variabele of dynamische URL.
<img src="PLACEHOLDER" style="width: 200px; height: auto;" width="200">
Als je bestaande tabelblok een eenvoudige dynamische variabele voor de afbeelding heeft, ziet de resulterende inhoud er ongeveer zo uit:
<img src="{{item.product.variant.images.0.src}}" style="width: 200px; height: auto;" width="200">
Als je bestaande tabelblok een langere codefragmentatie bevat, kan de resulterende inhoud er als volgt uitzien:
<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">
Voeg je einde toe tagVoeg je einde toe tag
Voeg vervolgens alle inhoud samen: je openingszin als, dan je inhoud en tot slot een afsluitende {% endif %}
tag.
Herhaal dit voor de tekstinhoud
Herhaal dit proces vervolgens met de inhoud aan de rechterkant van je tabelblok (bijvoorbeeld de tekstinhoud). Klik op </ > om de code-editor te openen en kopieer alle HTML-inhoud, verpak deze inhoud vervolgens in dezelfde if-instructie (stappen 1 en 3) die je hebt gebruikt voor de afbeeldingsinhoud.
Hier zie je hoe alles er samen uitziet:
codefragment 1 (productafbeelding) | codefragment 2 (productgegevens) |
|
|
En hier is een uitsplitsing van die codefragmenten:
codefragment 1 (productafbeelding) | codefragment 2 (productgegevens) |
|
|
Als je deze codefragmenten gebruikt, zorg er dan voor dat je rechte aanhalingstekens (") gebruikt in plaats van gekrulde aanhalingstekens (") om ervoor te zorgen dat de code correct wordt weergegeven.
Zodra je beide codefragmenten hebt geschreven, ga je verder in de template editor volgens de onderstaande stappen.
Rijen overslaan in een dynamisch tabelblokRijen overslaan in een dynamisch tabelblok
Voordat je je dynamische tabelblok bewerkt, kun je overwegen om het originele blok op te slaan als universele inhoud voor het geval je er in toekomstige berichten naar moet verwijzen. Koppel het blok dan los en bewerk het apart, zodat je bewerkingen niet worden opgeslagen in het universele inhoudsblok.
- Als je e-mail deel uitmaakt van een flow, stel deze dan in op Concept of Handmatig zodat berichten niet worden verzonden terwijl je het flow bericht bewerkt.
- Zorg ervoor dat de Celinhoud voor beide kolommen van het nieuwe tabelblok is ingesteld op Tekst.
- Klik op </ > om de HTML-editor voor de linkerkant van het tabelblok te openen.
- Kopieer het codefragment van de productafbeelding dat je in de vorige sectie hebt gemaakt en plak het in het HTML-veld.
- Klik linksboven op Klaar .
- Navigeer naar de editor voor de rechterkant van het tabelblok.
- Klik op </ > om de HTML-editor voor de rechterkant van het tabelblok te openen.
- Kopieer het codefragment voor de productgegevens dat je in de vorige sectie hebt gemaakt en plak het in het HTML-veld, waarbij alle vorige inhoud wordt vervangen.
- Klik op Klaar.
- Bekijk een voorbeeld van de e-mail om er zeker van te zijn dat deze verschijnt zoals verwacht: het overgeslagen item zou niet moeten verschijnen, maar alle andere items zullen normaal verschijnen. Zorg ervoor dat je een voorbeeld geeft met een gebeurtenis die het item bevat dat je probeert te verbergen, zodat je zeker weet dat het verborgen is.
Voorwaardelijke verklaringen en de inline teksteditor
Wanneer je bepaalde voorwaardelijke uitspraken toevoegt aan een tekstblok, kunnen deze verdwijnen uit de inline teksteditor. De code is nog steeds aanwezig; hij is alleen verborgen. Om voorwaardelijke verklaringen te bekijken en te bewerken, open je het veld Broncode van het tekstblok.
De volgende tags zijn alleen zichtbaar in het veld Broncode van een tekstblok:
- {% for ... %}
- {% endfor %}
- {% if ... %}
- {% elif ... %}
- {% else %}
- {% endif %}
- {% with ... %}
- {% endwith %}
Probleemoplossing
Er verschijnen geen items in het voorbeeld
- Zorg ervoor dat je een voorbeeld bekijkt met een gebeurtenis die overeenkomt met de gegevensbron die je hebt gebruikt (bijv. Begonnen met afrekenen voor een winkelwagen verlaten bericht).
- Controleer of de Repeat for en Row alias precies overeenkomen met de Row collection en Row alias van het oorspronkelijke blok.
Het item dat moet worden overgeslagen verschijnt nog steeds
Controleer de spelling en het hoofdlettergebruik van je als verklaring. Als het product nog steeds verschijnt, betekent dit dat het voldoet aan de criteria in je if-statement, dus je if-statement is niet correct geconfigureerd. Leer meer over voorwaardelijke logica in sjablonen.
ResultaatResultaat
Na het volgen van deze stappen zullen items die niet voldoen aan de criteria in je if statement niet verschijnen in berichten zoals winkelwagen verlaten of e-mail met orderbevestiging.
Extra hulpbronnen