Produtos em Landings

Produtos em Landings

Objetivo

Este guia explica como vincular produtos dentro do editor de landings e como exibi-los corretamente em produção.


Módulos disponíveis

  • ProductsGrid: lista produtos (opcionalmente por categoria).
  • ProductTitle: nome.
  • ProductPrice: preço e desconto.
  • ProductImage: imagem.
  • ProductDescription: descrição.
  • ProductCategory: categoria.

Formas de vincular um produto

1. productId fixo

Você atribui diretamente um ObjectId de produto.

Exemplo:

  • productId: "67f2c1ab8f6d0f1a2b3c4d5e"

Quando usar:

  • Landings estáticas de um produto pontual.
  • Seções de destaque com um produto específico.

2. productId dinâmico

Você atribui uma variável proveniente do caminho dinâmico.

Exemplo:

  • Caminho: /producto/:idProducto
  • Variável: {{IDPRODUCTO}}
  • No componente: productId: "{{IDPRODUCTO}}"

Quando usar:

  • Modelos reutilizáveis para múltiplos produtos.
  • URLs de detalhe dinâmicas.

Configuração passo a passo (dinâmico)

  1. Defina um caminho dinâmico, por exemplo /producto/:idProducto.
  2. Nos módulos de produto (ProductTitle, ProductPrice, ProductImage, ProductDescription, ProductCategory), use productId: "{{IDPRODUCTO}}".
  3. Publique a landing.
  4. Teste uma URL real, por exemplo /producto/67f2c1ab8f6d0f1a2b3c4d5e.

ProductsGrid e navegação para detalhe

O ProductsGrid suporta cardClickLink com {{card_product_id}}.

Exemplo:

  • cardClickLink: "/producto/{{card_product_id}}"

Resultado:

  • Cada cartão abre a landing de detalhe do produto clicado.

O que acontece se um produto não for encontrado

Você pode controlar a estratégia com strictProductResolution nas propriedades raiz (root props):

  • false:

    • Os componentes do produto ausente são ocultados.
    • A landing continua renderizando o restante do conteúdo.
  • true:

    • Se um produto obrigatório estiver ausente, a landing pode ser resolvida como não encontrada (404).

Recomendação:

  • Landings de campanha ou mistas: false.
  • Landings de detalhe por URL: true.

Boas práticas

  • Usar nomes de segmentos claros (:idProducto, :categoria).
  • Manter consistência de IDs e caminhos ao publicar.
  • Testar sempre:
    • um ID válido,
    • um ID inválido,
    • e o comportamento esperado conforme strictProductResolution.

Solução de problemas rápida

  • O conteúdo do produto não aparece:
    • Verifique o productId do componente.
    • Se for dinâmico, valide o mapeamento (:idProducto -> {{IDPRODUCTO}}).
  • Aparece 404 e não deveria:
    • Verifique strictProductResolution.
    • Confirme que o produto existe e está ativo.
  • A grade aparece vazia:
    • Verifique os produtos ativos do grupo.
    • Se houver filtro por categoria, confirme a correspondência exata.