Registrar o enricher
Sempre que o carrinho carrega ou muda, a Aftersell busca seu fragment para cada produto ou variante no carrinho. A busca é não bloqueante: o carrinho renderiza imediatamente e reemite
cart_updated quando os dados chegam. Um fragment lento ou com falha nunca atrasa nem quebra o carrinho.
Ler os dados
line.metadata.delivery é undefined até a primeira busca resolver. Sempre proteja a leitura.
Renderizar no carrinho
props.line:
Dados no nível da variante
onType: 'ProductVariant' quando o metafield está na variante em vez de no produto:
Mais que metafields
Product ou ProductVariant funciona, não só metafields:
Coisas para acertar
- Proteja toda leitura.
metadatatem{}como padrão e seu namespace éundefinedaté a busca resolver. O carrinho renderiza antes de os dados chegarem, sempre. - Cada
idé seu próprio namespace. Vários enrichers coexistem sem colidir, incluindo os registrados por outros apps. - Os metafields devem estar visíveis para a Storefront. Um metafield que não está exposto à Storefront API retorna
null. Verifique a definição no admin da Shopify se você não receber nada de volta. - Mantenha o fragment pequeno. Ele executa para cada produto no carrinho, em cada mudança do carrinho. Peça os campos que você usa, não tudo.
- Registre no momento de configuração. É um hook, então pertence ao topo do seu script de Initialization.
- As chaves devem estar balanceadas. Sem chaves externas ao redor do fragment, mas qualquer seleção aninhada precisa do seu próprio par correspondente. Um fragment desbalanceado é rejeitado.
Para onde ir a seguir
registerCartEnricher: a referência completa do hook.- Custom code blocks: renderizando os dados.
- Cart object: onde
metadatafica em uma linha.