Voor een door de merchant geconfigureerde versie met niveaus, regels per markt en een voortgangsbalk gebruik je het Rewards-block, zonder code. Dit is voor wanneer je regel iets is wat het block niet kan uitdrukken.
Het snippet
Hoe het werkt
reconcileGift beschrijft de staat waarin de winkelwagen zou moeten zijn, en voert dan hoogstens één wijziging uit om daar te komen:
- Komt in aanmerking en het cadeau is er niet →
addItemvoegt het toe. - Komt niet in aanmerking en het cadeau is er wel →
removeItemverwijdert het, via dekeyvan de regel. - Anders → doe niets.
cart_loaded (zodat een winkelwagen die bij het laden van de pagina al in aanmerking komt het cadeau krijgt) als cart_updated (zodat het daarna op elke wijziging reageert). Omdat cart_loaded opnieuw wordt afgespeeld voor late subscribers, werkt dit ongeacht wanneer je script draait.
Merk op dat het toevoegen van het cadeau het winkelwagentotaal verhoogt, dus een drempel dicht bij de prijs van een product kan oscilleren: een cadeau van $0 toevoegen is veilig, maar een cadeau met een prijs kan de winkelwagen op eigen kracht boven de drempel duwen. Houd het cadeau gratis, of vergelijk met een totaal dat het cadeau uitsluit.
Aanpassen
context, dat beschikbaar is voordat de winkelwagen laadt:
Een line transform kan de aantal-knoppen van een regel niet verbergen — de enige setters zijn
setTitle, setVariantTitle, setHidden en setInternalProperties. Als een shopper het aantal van het cadeau wijzigt, corrigeer dat dan vanuit een cart_updated-handler.Waar je verder kunt kijken
- Rewards block: de no-code-versie, met niveaus.
- Actions:
addItem,removeItemen de rest. - Events: waarom de guards belangrijk zijn.