Skip to main content
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

O picker grava o id. storefront.products.get(id) aceita id ou handle. getByHandle só chama get.

Objetivo

  1. Merchant seleciona produto no Inspector (type: product).
  2. Schema persiste referência em settings.product (UUID no editor).
  3. defineSectionData resolve ref → Product.
  4. Section renderiza título, preço, imagem e chama addItem.

Fluxo de dados

Não trate settings.product como objeto Product.

Schema + data

Campos usados na UI (contrato público): 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.product populado no runtime.

Checklist

  • schema.data: ['product'] + defineSectionData
  • products.get(settings.product)
  • UI só com campos do Product Contract
  • useCorvexCart().addItem(product, 1)
  • corvex validate passa
Código completo: seu tema (adaptado do cookbook).