Skip to main content
Przez całe SDK przepływa jedna struktura obiektu. To ona jest zwracana przez getCart(), przekazywana Twojemu handlerowi przez cart_loaded i cart_updated oraz otrzymywana przez blok Custom code.
Wszystkie kwoty są w jednostce mniejszej waluty (centach dla USD), nigdy jako sformatowany string. 5779 to $57.79. Do wyświetlenia użyj formatMoney.

Koszyk

itemCount nie zawsze jest sumą items. items odzwierciedla prawdziwy koszyk Shopify, w tym pozycje dodatków, które drawer ukrywa, np. ochronę przesyłki. itemCount to liczba widoczna dla klienta, zgodna z plakietką koszyka. Aby wiedzieć, „ile rzeczy wybrał klient”, użyj itemCount; aby iterować po pozycjach renderowanych przez koszyk, użyj items.Dwie rzeczy w ogóle nie występują w items: pozycje ukryte za pomocą setHidden oraz dzieci zestawów, które przenoszą się na swoją pozycję główną (anchor). Obie nadal wliczają się do sum koszyka, które pochodzą prosto z Shopify.

Pozycje koszyka

Każdy wpis w items oraz item w item_added i item_removed:
properties może zawierać dane wprowadzone przez klienta, np. pole niestandardowego tekstu z formularza produktu. Renderuj je jako tekst, nigdy jako surowy HTML.

Identyfikowanie pozycji

Używaj key do wszystkiego, co działa na pozycji, a variantId lub productId do wszystkiego, co identyfikuje produkt:
Ten sam wariant może pojawić się w kilku pozycjach, gdy różnią się właściwościami. Dwa grawerowane kubki z różnymi tekstami graweru to dwie pozycje dzielące jedno variantId. Dlatego akcje przyjmują key.

Ceny na pozycji

Trzy ceny, łatwe do pomylenia:

Zestawy (bundles)

Gdy pozycje są zgrupowane w zestaw, pozycja główna (anchor) niesie obiekt bundle. Dzieci są do niego wchłaniane i nie pojawiają się już samodzielnie w items. Zobacz Grupowanie pozycji zestawów z innej aplikacji, aby dowiedzieć się, jak konfiguruje się grupowanie. Każde dziecko niesie key (null dla natywnego komponentu), title, variantTitle, quantity, perAnchorQty, imageUrl, finalLinePrice, originalLinePrice i compareAtPrice.

Plany subskrypcji

Aktywny plan pozycji to sellingPlan lub null dla zakupu jednorazowego. Aby uzyskać odpowiedź dla całego koszyka, odczytaj hasSubscriptionItems, zamiast samodzielnie skanować pozycje, ponieważ liczy on także pozycje dodatków, które items pokazuje, a itemCount pomija:
Dostępne plany na pozycji, te widoczne w selektorze, nie znajdują się na obiekcie koszyka. Kształtuj je za pomocą registerSubscriptionOptionsTransform i registerDefaultSubscriptionOptionSelector.

Co dalej

  • Akcje: odczytuj i zmieniaj koszyk.
  • Zdarzenia: skąd pochodzi ten obiekt.
  • Hooki: dodawaj własne dane do pozycji za pomocą wzbogacacza.
  • Przypadki użycia: kompletne rozwiązania odczytujące te pola.