De enricher registreren
Telkens wanneer de winkelwagen laadt of verandert, haalt Aftersell je fragment op voor elk product of elke variant in de winkelwagen. De fetch is non-blocking: de winkelwagen rendert onmiddellijk en zendt
cart_updated opnieuw uit zodra de data binnenkomt. Een traag of falend fragment vertraagt of breekt de winkelwagen nooit.
De data lezen
line.metadata.delivery undefined totdat de eerste fetch resolvet. Bescherm de leesactie altijd met een guard.
Het in de winkelwagen renderen
props.line:
Data op variantniveau
onType: 'ProductVariant' in wanneer het metafield op de variant staat in plaats van op het product:
Meer dan metafields
Product of ProductVariant beschikbaar stelt werkt, niet alleen metafields:
Dingen om goed te doen
- Bescherm elke leesactie.
metadatais standaard{}en je namespace isundefinedtotdat de fetch resolvet. De winkelwagen rendert altijd voordat de data arriveert. - Elk
idis zijn eigen namespace. Meerdere enrichers bestaan naast elkaar zonder te botsen, inclusief die door andere apps zijn geregistreerd. - Metafields moeten Storefront-zichtbaar zijn. Een metafield dat niet aan de Storefront API is blootgesteld, geeft
nullterug. Controleer de definitie in de Shopify admin als je niets terugkrijgt. - Houd het fragment klein. Het draait voor elk product in de winkelwagen, bij elke winkelwagenwijziging. Vraag om de velden die je gebruikt, niet om alles.
- Registreer op set-up-tijd. Het is een hook, dus hij hoort bovenaan je Initialization-script.
- Accolades moeten in balans zijn. Geen buitenste accolades rond het fragment, maar elke geneste selectie heeft zijn eigen bijpassende paar nodig. Een ongebalanceerd fragment wordt geweigerd.
Waar je verder kunt kijken
registerCartEnricher: de volledige hook-referentie.- Custom code blocks: de data renderen.
- Cart object: waar
metadataop een regel staat.