Soms wil je producten uit bepaalde categorieën niet tonen in e-mails. Bijvoorbeeld producten die in een sales categorie staan of producten waar je in e-mails geen reclame voor mag maken.
Wanneer je gebruik maakt van Dynamische product feeds weet je echter van te voren niet welke producten en of categorieën getoond gaan worden. Dit los je op door gebruik te maken van Liquid. Hiermee kun je eenvoudig bepaalde categorieën uit je dynamische product feed halen.
Om bepaalde categorieen te filteren is het belangrijk om te weten of je een Loop of een select aantal producten wilt bewerken.
Loop herkennen door middel van nieuwe rij toevoegen.
Voeg je een nieuwe rij toe? Je herkent een loop van producten aan het woordje Alle wat ervoor staat (zie screenshot). Een vast selectie mist het woordje Alle.
Voorbeeld:
Alle laatst bestelde producten = loop (oneindig producten in theorie)
Laatst bestelde producten = vast aantal producten in de e-mail
Bestaande rij aanpassen
Wil je het filteren toepassen op een bestaande rij? Dan kun je de rij selecteren en rechts kijken bij dynamic content. Een loop is als volgt geformatteerd
{% for product in last_ordered_products_collection_array %}
Een vast aantal producten in je e-mails is als volgt geformatteerd
{% assign products = last_ordered_products_collection %}
Wat is een loop?
Een loop van producten is in theorie oneindig. Dus stel dat iemand 20 producten heeft besteld dan toont de e-mail 20 producten. Je kunt hier weer een limit op zetten (zie ons andere Liquid artikel) om dit af te bakenen. Maar omdat een loop een oneindig aantal in theorie kan tonen heb je per rij 1 product.
Wil je meerdere producten op 1 rij tonen? Dan maak je gebruik van de vaste selectie. Je kunt dan maximaal 3 producten op 1 rij tonen.
Loop bewerken voor categorie filter
Stap 1. Open de e-mail die je wilt bewerken.
Open de e-mail die je wilt bewerken en selecteer de dynamische rij in de template.
Stap 2. Pas de voorwaarde aan.
Nu zie je rechts een blok met Liquid code staan
Door op Edit te klikken kun je de bestaande code aanpassen. We moeten nu een filter aanmaken voordat de loop begint. Dus je plaatst de volgende code helemaal vooraan.
{% assign products = abandoned_shopping_cart_collection | where_not: 'categories', 'id', 898194477 %}
Let op dat je de juiste collectie en categorie ID gebruikt. De juiste collectie kun je simpelweg aflezen in de voorwaarde. In bovenstaande screenshot zie je dat het om een last_ordered_products_collectie gaat. Ik moet de code dan ook als volgt aanpassen:
{% assign products = last_ordered_products_collection | where_not: 'categories', 'id', 898194477 %}
Het categorie ID kun je in je webshop systeem vinden. Bij Lightspeed vind je dit bijvoorbeeld in de URL wanneer je een categorie opent:
De correcte Liquid code wordt dan als volgt:
{% assign products = last_ordered_products_collection | where_not: 'categories', 'id', 7138352 %}{% for product in last_ordered_products_collection_array %}
Dat ziet er als volgt uit:
Vast aantal producten bewerken met categorie filter
Wil je in plaats van een loop een vast aantal producten bewerken met een categorie filter? Ook dat is mogelijk!
Stap 1. Selecteer de rij en bewerk de Liquid
Je begint door de rij te selecteren en rechts bij Dynamic Content op edit te klikken.
In plaats van de de code
{% assign products = last_ordered_products_collection %}
Gebruik je nu de volgende code:
{% assign products = last_ordered_products_collection | where_not: 'categories', 'id', 7138352 %}{
Let er op dat je de juiste collectie gebruikt. In dit voorbeeld gebruiken we de last_ordered_products_collection. Ook dien je het product ID te gebruiken van je categorie. Deze kun je in je webshop vinden, bij Lightspeed vind je deze bijvoorbeeld in de URL:
Wat daarna nog rest is de NA statement:
{% %}
De statement ziet er dan als volgt uit:
En zo filter je bepaalde categorieën uit je product feed.