Skip to main content
Eén objectvorm stroomt door de hele SDK. Het is wat getCart() teruggeeft, wat cart_loaded en cart_updated aan je handler doorgeven, en wat een Custom code-blok ontvangt.
Alle geldbedragen zijn in de kleinste munteenheid van de valuta (centen voor USD), nooit een geformatteerde string. 5779 is $57,79. Gebruik formatMoney om het weer te geven.

De winkelwagen

itemCount is niet altijd de som van items. items spiegelt de echte Shopify-winkelwagen, inclusief add-on-regels die de drawer verbergt, zoals verzendbescherming. itemCount is het shopper-gerichte getal dat overeenkomt met de winkelwagenbadge. Voor “hoeveel dingen heeft de shopper gekozen” gebruik je itemCount; om te itereren over de regels die de winkelwagen rendert, gebruik je items.Twee dingen ontbreken volledig in items: regels verborgen met setHidden, en bundelkinderen, die naar hun anker verhuizen. Beide tellen nog steeds mee in de winkelwagentotalen, die rechtstreeks van Shopify komen.

Winkelwagenregels

Elk item in items, en het item op item_added en item_removed:
properties kan door de shopper aangeleverde invoer bevatten, zoals het aangepaste-tekstveld van een productformulier. Render het als tekst, nooit als rauwe HTML.

Een regel identificeren

Gebruik key voor alles wat op een regel inwerkt, en variantId of productId voor alles wat een product identificeert:
Dezelfde variant kan op meerdere regels voorkomen wanneer de properties verschillen. Twee gegraveerde mokken met verschillende graveertekst zijn twee regels die één variantId delen. Daarom nemen de actions een key.

Prijzen op een regel

Drie prijzen die makkelijk door elkaar te halen zijn:

Bundels

Wanneer regels in een bundel zijn gegroepeerd, draagt de anker-regel een bundle-object. De kinderen worden erin gevouwen en verschijnen niet meer zelfstandig in items. Zie Bundelregels van een andere app groeperen voor hoe groepering wordt opgezet. Elk kind draagt key (null voor een native component), title, variantTitle, quantity, perAnchorQty, imageUrl, finalLinePrice, originalLinePrice en compareAtPrice.

Abonnementsplannen

Het actieve plan van een regel is sellingPlan, of null voor een eenmalige aankoop. Voor een antwoord op winkelwagenniveau lees je hasSubscriptionItems in plaats van zelf de regels te scannen, omdat het ook add-on-regels meetelt die items toont maar itemCount overslaat:
De beschikbare plannen op een regel, die in de kiezer, staan niet op het cart-object. Vorm die met registerSubscriptionOptionsTransform en registerDefaultSubscriptionOptionSelector.

Waar nu naartoe

  • Actions: lees en wijzig de winkelwagen.
  • Events: waar dit object vandaan komt.
  • Hooks: voeg je eigen data toe aan een regel met een enricher.
  • Use cases: complete oplossingen die deze velden lezen.