Meget af det, forhandlere beder SDK’et om, findes allerede som en indstilling. Før du skriver et script, så tjek om en kurv-blok, betingelser efter marked/land/valuta eller en kurvindstilling allerede gør det. De bliver ved med at virke gennem redesigns af kurven, og det gør dit script måske ikke.
Det globale indgangspunkt
Hvert snippet i disse docs skriver
window.aftersell.cart fuldt ud, så hvert enkelt af dem virker alene, når du indsætter det. Det er også helt gyldigt at aliasere det én gang (const cart = window.aftersell.cart;) og bruge cart derefter, og det er sikkert selv før kurven er indlæst. Husk bare at inkludere den linje, hvis du forkorter et snippet, da et nøgent cart alene kaster cart is not defined.Configure
Indstil hvordan kurven opfører sig: hvornår skuffen åbner, hvordan beløb formateres, om Aftersell opsnapper add-to-cart.
Events
Reagér på hvad der sker: kurven blev indlæst, en vare blev tilføjet, skuffen åbnede, der blev klikket på checkout.
Actions
Læs og ændr kurven: åbn den, tilføj en vare, opdater et antal, læs den aktuelle tilstand.
Hooks
Ændr hvordan kurven selv fungerer: skjul eller omdøb linjer, omarranger dem, vedhæft ekstra data, styr add-to-cart.
Hvis et script hos dig holdt op med at fyre ved add to cart, så start med Add to cart-interception. Den forklarer, hvorfor Aftersell overtager tilføjelsen, og hver måde at fritage en formular på.
Events, actions eller hooks?
Den skelnen, der betyder mest: en action ændrer kundens faktiske kurv (og deres total), mens en hook kun ændrer hvad der renderes. Skjuler du en linje med en hook, forbliver den i kurven og i totalen; fjerner du den med en action, ryger den ud for alvor.
Hvordan og hvornår det indlæses
- En lille stub opretter
window.aftersell.cartmed det samme, så det altid er der. - Det fulde SDK indlæses kort efter og tager over ved at opgradere stubben på stedet, så en reference, du fangede tidligere, bliver ved med at virke.
Opsætningskald: sikre med det samme
configure(...), events.on(...) og hvert hooks.register*-kald. Buffres før boot og afspilles i rækkefølge, når SDK’et indlæses. Placér dem øverst i dit script.Actions: vent på ready()
Alt under
actions.*. Kør dem inde i ready() eller en event-handler. Kaldes de for tidligt, advarer de i konsollen og gør ingenting, sikkert: de asynkrone resolves stadig, så en .then()-kæde bryder ikke.ready()
ready() returnerer et Promise, der resolves, når den første kurvindlæsning er afgjort. Det resolves både ved fejl og succes, så en kunde på en ustabil forbindelse aldrig efterlader dit script hængende. Tjek getCart() for null i stedet for at antage, at en kurv kom frem.
Kaldes ready(), efter kurven allerede er indlæst, resolves det med det samme, så det er sikkert at bruge som en generel “kurven findes nu”-port hvor som helst i din kode.
context
window.aftersell.cart.context indeholder køberdata renderet af serveren, som kan læses synkront, uden brug af ready(). Brug det til marked- eller landeforgrening, der skal ske, før kurven indlæses.
For at vise forskellige blokindstillinger efter marked, land eller valuta skal du bruge betingelser i cart editoren i stedet. Intet script kræves. Den fulde Conditions-UI findes på Rewards i dag.
shadowRoot
document.querySelector kan ikke se noget inde i skuffen. For at nå et element i kurven skal du forespørge shadow root’en:
cart-external-*-klasser, som Custom CSS bruger. Det er de understøttede håndtag. cart-internal-*-tvillingerne er kurvens eget maskinrum, så forespørg de eksterne i stedet.
Shadow root’en er der først, når kurven er bootet, så læs den inde i ready() eller en event-handler i stedet for øverst i dit script.
Fejlfinding
Når dit script kaster
configure, events.on og hooks.register* under den linje kører aldrig. Kurven siger det eksplicit:
aftersell-cart-init.js og aftersell-cart-cart-update.js i DevTools. Du kan åbne dem fra Sources-panelet og sætte breakpoints som i enhver anden fil.
Debug-kanalen
Hvor du kan gå hen herfra
Configure
Hver mulighed, med et eksempel til hver.
Events
Hvert event, hvornår det fyrer, og hvad du ikke skal gøre i en handler.
Actions
Hver action, med et snippet til hver.
Hooks
Hver hook, og hvordan registreringer sammensættes.
Cart-objektet
Kurvens og dens linjers form.
Use cases
Komplette, kørbare løsninger på almindelige ønsker.