Registra el enricher
Cada vez que el carrito se carga o cambia, Aftersell obtiene tu fragment para cada producto o variante del carrito. La solicitud es no bloqueante: el carrito se renderiza de inmediato y vuelve a emitir
cart_updated cuando llegan los datos. Un fragment lento o con fallos nunca retrasa ni rompe el carrito.
Lee los datos
line.metadata.delivery es undefined hasta que la primera solicitud se resuelve. Protege siempre la lectura.
Renderízalo en el carrito
props.line:
Datos a nivel de variante
onType: 'ProductVariant' cuando el metafield vive en la variante en lugar del producto:
Más que metafields
Product o ProductVariant, no solo metafields:
Cosas que debes hacer bien
- Protege cada lectura.
metadataes{}por defecto y tu espacio de nombres esundefinedhasta que la solicitud se resuelve. El carrito se renderiza antes de que lleguen los datos, siempre. - Cada
ides su propio espacio de nombres. Varios enrichers coexisten sin colisionar, incluidos los registrados por otras apps. - Los metafields deben ser visibles para la Storefront API. Un metafield que no está expuesto a la Storefront API devuelve
null. Revisa la definición en el admin de Shopify si no recibes nada. - Mantén el fragment pequeño. Se ejecuta para cada producto del carrito, en cada cambio del carrito. Pide los campos que usas, no todo.
- Regístralo en el momento de configuración. Es un hook, así que pertenece al inicio de tu script de inicialización.
- Las llaves deben estar balanceadas. Sin llaves exteriores alrededor del fragment, pero cualquier selección anidada necesita su propio par correspondiente. Un fragment desbalanceado se rechaza.
Adónde ir después
registerCartEnricher: la referencia completa del hook.- Bloques de código personalizado: cómo renderizar los datos.
- Objeto cart: dónde se ubica
metadataen una línea.