Registriere den Enricher
Immer wenn der Warenkorb lädt oder sich ändert, ruft Aftersell dein Fragment für jedes Produkt bzw. jede Variante im Warenkorb ab. Der Abruf ist nicht blockierend: Der Warenkorb rendert sofort und sendet
cart_updated erneut, sobald die Daten eintreffen. Ein langsames oder fehlschlagendes Fragment verzögert oder beschädigt den Warenkorb nie.
Lies die Daten
line.metadata.delivery so lange undefined, bis der erste Abruf abgeschlossen ist. Sichere den Lesezugriff immer ab.
Rendere sie im Warenkorb
props.line erhält:
Daten auf Variantenebene
onType: 'ProductVariant', wenn das Metafield an der Variante statt am Produkt hängt:
Mehr als Metafields
Product oder ProductVariant bereitstellt, nicht nur Metafields:
Worauf du achten solltest
- Sichere jeden Lesezugriff ab.
metadataist standardmäßig{}, und dein Namespace istundefined, bis der Abruf abgeschlossen ist. Der Warenkorb rendert immer, bevor die Daten eintreffen. - Jede
idist ihr eigener Namespace. Mehrere Enricher koexistieren ohne Kollisionen, auch solche, die von anderen Apps registriert wurden. - Metafields müssen für die Storefront sichtbar sein. Ein Metafield, das nicht für die Storefront API freigegeben ist, gibt
nullzurück. Prüfe die Definition im Shopify-Adminbereich, wenn du nichts zurückbekommst. - Halte das Fragment klein. Es läuft für jedes Produkt im Warenkorb, bei jeder Warenkorbänderung. Frage die Felder ab, die du verwendest, nicht alles.
- Registriere zur Einrichtungszeit. Es ist ein Hook, er gehört also an den Anfang deines Initialisierungsskripts.
- Klammern müssen ausgeglichen sein. Keine äußeren geschweiften Klammern um das Fragment, aber jede verschachtelte Auswahl braucht ihr eigenes passendes Paar. Ein unausgeglichenes Fragment wird abgelehnt.
Nächste Schritte
registerCartEnricher: die vollständige Hook-Referenz.- Custom-Code-Blöcke: das Rendern der Daten.
- Cart-Objekt: wo
metadataauf einer Zeile liegt.