window.aftersell.cart.events.
At abonnere er et opsætningskald, så det er sikkert øverst i dit script uden behov for at vente på ready().
Tilgængelige events
Abonnering
events.on(event, handler) registrerer en handler og returnerer en funktion, der afmelder den:
events.once(event, handler): affyres én gang og afmelder derefter sig selv.events.off(event, handler): fjerner en specifik handler.
De to regler
Ændr ikke kurven fra cart_updated uden en guard
cart_updated-handler affyrer cart_updated igen. Hvis den handler ændrer kurven igen, har du en uendelig løkke. Kunden ser sin kurv gå amok, mens siden hamrer løs på Shopify.
Behandl payloaden som skrivebeskyttet
registerLineTransform.
cart_loaded
cart_loaded genafspilles for sene abonnenter. Hvis du abonnerer, efter kurven allerede er indlæst, kaldes din handler straks med den aktuelle kurv. Abonnementsrækkefølge betyder aldrig noget, så du behøver ikke bekymre dig om, hvorvidt dit script nåede det før kurven.
cart_updated
item_added
{ item }, hvor item er kurvlinjen.
cart_loaded. Tilføjes flere forskellige produkter på én gang, affyres eventet én gang pr. linje.
item_removed
{ item }, linjen som den var, lige før den forsvandt, så du stadig kan læse dens key, variantId og title.
item_added: at sænke et antal uden at ramme nul er ikke en fjernelse.
cart_opened og cart_closed
checkout
Lyt fra uden for SDK’et
CustomEvent på window, så du kan lytte uden at røre window.aftersell.cart. Det er nyttigt fra en temafil, en tredjepartsapp eller et script, der indlæses uafhængigt af kurven.
Bemærk navngivningen: bussen bruger
snake_case, DOM-eventene bruger kebab-case bag et aftersell:cart:-præfiks.
event.detail og matcher cart-objektet. Events dispatches på window, så en listener hvor som helst på siden modtager dem. Kurven renderes i en shadow root, men shadow-grænsen er aldrig i eventets sti. Hver dispatch kloner payloaden, så en listener, der muterer event.detail, ikke kan påvirke andre, og en listener, der kaster en fejl, ikke kan forstyrre SDK’et.
Shopify standard-kurvevents
document, hver gang den ændrer kurven, så temakode og andre apps kan reagere på Aftersells mutationer på samme måde, som de reagerer på temaets:
Hvert event bærer også et
promise, som Aftersell afgør, når den underliggende skrivning lander, i overensstemmelse med Shopifys standard — await det, resolve det ikke. Disse dispatches på document og bobler, så en window-listener modtager dem også.
Hvor skal du hen nu
- Cart-objekt: den fulde form af payloadene ovenfor.
- Actions: hvordan du ændrer kurven fra en handler.
- Hooks: til at ændre, hvordan kurven renderes, frem for at reagere på den.
- Use cases: analysetracking, gratis gaver og andre komplette eksempler.