Zarejestruj enricher
Za każdym razem, gdy koszyk się ładuje lub zmienia, Aftersell pobiera Twój fragment dla każdego produktu lub wariantu w koszyku. Pobieranie jest nieblokujące: koszyk renderuje się natychmiast i ponownie emituje
cart_updated, gdy dane dotrą. Wolny lub zawodzący fragment nigdy nie opóźnia ani nie psuje koszyka.
Odczytaj dane
line.metadata.delivery ma wartość undefined, dopóki pierwsze pobranie się nie rozwiąże. Zawsze zabezpieczaj odczyt.
Wyrenderuj to w koszyku
props.line:
Dane na poziomie wariantu
onType: 'ProductVariant', gdy metafield znajduje się na wariancie, a nie na produkcie:
Więcej niż metafields
Product lub ProductVariant, nie tylko metafields:
Rzeczy, które trzeba zrobić dobrze
- Zabezpieczaj każdy odczyt.
metadatadomyślnie to{}, a Twoja przestrzeń nazw ma wartośćundefined, dopóki pobranie się nie rozwiąże. Koszyk zawsze renderuje się przed nadejściem danych. - Każde
idto własna przestrzeń nazw. Wiele enricherów współistnieje bez kolizji, w tym te zarejestrowane przez inne aplikacje. - Metafields muszą być widoczne dla Storefront. Metafield nieudostępniony Storefront API zwraca
null. Jeśli nic nie wraca, sprawdź definicję w panelu Shopify. - Utrzymuj fragment mały. Działa dla każdego produktu w koszyku, przy każdej zmianie koszyka. Proś o pola, których używasz, a nie o wszystko.
- Rejestruj w czasie konfiguracji. To hook, więc jego miejsce jest na początku skryptu Initialization.
- Nawiasy muszą się bilansować. Bez zewnętrznych nawiasów wokół fragmentu, ale każda zagnieżdżona selekcja potrzebuje własnej dopasowanej pary. Niezbilansowany fragment jest odrzucany.
Co dalej
registerCartEnricher: pełne odniesienie do hooka.- Bloki Custom code: renderowanie danych.
- Obiekt koszyka: gdzie na pozycji znajduje się
metadata.