Quero destacar um produto escolhido no Editor com botão de carrinho. Como implementar?Referência:
seu tema (adaptado do cookbook)
Índice: Cookbooks
Contratos utilizados
- Section Contract
- Data Contract —
defineSectionData - Product Contract
- Field
product— valor persistido = UUID (editor) - Cart Contract —
useCorvexCart().addItem
storefront.products.get(id) aceita id ou handle. getByHandle só chama get.
Objetivo
- Merchant seleciona produto no Inspector (
type: product). - Schema persiste referência em
settings.product(UUID no editor). defineSectionDataresolve ref →Product.- Section renderiza título, preço, imagem e chama
addItem.
Fluxo de dados
settings.product como objeto Product.
Schema + data
title, price.formatted, featuredImage.url, availableForSale.
Não use stock, metafields ou outros campos do mapper — ver Product Contract.
Add to cart
Empty / fallback
Comportamento no Editor
- Field
product: modal de seleção; valor salvo = handle. - Preview de dados: após salvar draft,
data.productpopulado no runtime.
Checklist
-
schema.data: ['product']+defineSectionData -
products.get(settings.product) - UI só com campos do Product Contract
-
useCorvexCart().addItem(product, 1) -
corvex validatepassa
seu tema (adaptado do cookbook).
