Veel van wat merchants aan de SDK vragen, is al een instelling. Controleer voordat je een script schrijft of een cart block, voorwaarden per markt/land/valuta of een winkelwagen-instelling het al doet. Die blijven werken bij herontwerpen van de winkelwagen, en je script mogelijk niet.
Het globale toegangspunt
Elk snippet in deze docs schrijft
window.aftersell.cart volledig uit, zodat elk snippet op zichzelf werkt wanneer je het plakt. Het één keer aliassen (const cart = window.aftersell.cart;) en daarna cart gebruiken is ook prima geldig, en veilig zelfs voordat de winkelwagen laadt. Vergeet alleen niet die regel op te nemen als je een snippet inkort, want een kale cart op zichzelf gooit cart is not defined.Configure
Stel in hoe de winkelwagen zich gedraagt: wanneer de drawer opent, hoe geldbedragen worden geformatteerd, of Aftersell add-to-cart onderschept.
Events
Reageer op wat er gebeurt: de winkelwagen is geladen, een item is toegevoegd, de drawer is geopend, er is op checkout geklikt.
Actions
Lees en wijzig de winkelwagen: open hem, voeg een item toe, werk een aantal bij, lees de huidige status.
Hooks
Wijzig hoe de winkelwagen zelf werkt: verberg of herlabel regels, herschik ze, koppel extra data, beheer add-to-cart.
Als een script van jou is gestopt met afgaan bij add-to-cart, begin dan bij Add-to-cart-interceptie. Daar wordt uitgelegd waarom Aftersell de toevoeging overneemt, en elke manier om een formulier af te melden.
Events, actions of hooks?
Het onderscheid dat het meest telt: een action wijzigt de daadwerkelijke winkelwagen van de shopper (en het totaal), terwijl een hook alleen wijzigt wat er gerenderd wordt. Een regel verbergen met een hook laat hem in de winkelwagen en in het totaal staan; hem verwijderen met een action haalt hem er echt uit.
Hoe en wanneer het laadt
- Een kleine stub maakt
window.aftersell.cartonmiddellijk aan, zodat die er altijd is. - De volledige SDK laadt kort daarna en neemt het over, waarbij de stub ter plekke wordt geüpgraded, zodat een eerder vastgelegde referentie blijft werken.
Set-up-aanroepen: direct veilig
configure(...), events.on(...) en elke hooks.register*-aanroep. Gebufferd vóór het opstarten en op volgorde opnieuw afgespeeld zodra de SDK laadt. Zet ze bovenaan je script.Actions: wacht op ready()
Alles onder
actions.*. Voer ze uit binnen ready() of een event handler. Te vroeg aangeroepen geven ze een waarschuwing in de console en doen ze niets, op een veilige manier: de asynchrone resolven alsnog, dus een .then()-keten breekt niet.ready()
ready() geeft een Promise terug die resolvet zodra de eerste winkelwagen-load is afgerond. Hij resolvet zowel bij falen als bij succes, zodat een shopper met een haperende verbinding je script nooit laat hangen. Controleer getCart() op null in plaats van aan te nemen dat er een winkelwagen is binnengekomen.
ready() aanroepen nadat de winkelwagen al geladen is, resolvet onmiddellijk, dus het is veilig te gebruiken als algemene “de winkelwagen bestaat nu”-poort waar dan ook in je code.
context
window.aftersell.cart.context bevat koperdata die door de server is gerenderd, synchroon leesbaar, zonder dat ready() nodig is. Gebruik het voor markt- of landvertakkingen die moeten plaatsvinden voordat de winkelwagen laadt.
Om verschillende block-instellingen per markt, land of valuta te tonen, gebruik je in plaats daarvan voorwaarden in de cart editor. Geen script nodig. De volledige Conditions-UI is vandaag beschikbaar op Rewards.
shadowRoot
document.querySelector kan niets binnen de drawer zien. Om een element in de winkelwagen te bereiken, bevraag je de shadow root:
cart-external-*-classes die Custom CSS gebruikt. Dat zijn de ondersteunde aanknopingspunten. De cart-internal-*-tegenhangers zijn het interne leidingwerk van de winkelwagen, dus bevraag in plaats daarvan de externe.
De shadow root is er pas zodra de winkelwagen is opgestart, dus lees hem binnen ready() of een event handler in plaats van bovenaan je script.
Debugging
Wanneer je script een fout gooit
configure, events.on en hooks.register* onder die regel wordt nooit uitgevoerd. De winkelwagen zegt dat expliciet:
aftersell-cart-init.js en aftersell-cart-cart-update.js in DevTools. Je kunt ze openen vanuit het Sources-paneel en breakpoints instellen zoals bij elk ander bestand.
Het debugkanaal
Waar je verder kunt kijken
Configure
Elke optie, met elk een voorbeeld.
Events
Elk event, wanneer het afgaat en wat je niet moet doen in een handler.
Actions
Elke action, met elk een snippet.
Hooks
Elke hook, en hoe registraties samenwerken.
Cart object
De vorm van de winkelwagen en zijn regels.
Use cases
Complete, uitvoerbare oplossingen voor veelvoorkomende verzoeken.