Pular para o conteúdo principal

Seções da Página de Produto (PDP)

O template de produto do Vertex é construído para catálogos técnicos — compradores que se importam com part numbers, specs, datasheets, MOQs, case-packs e preços por volume. Cada touchpoint B2B (faixas de volume, preços que exigem login, regras de quantidade, card de representante de vendas, ships-from, badge de prazos NET) é renderizado inline na PDP sem um único aplicativo complementar.

Tema Vertex — Página de produto

Um template, dois estados de cliente

O mesmo template product.json renderiza para visitantes e compradores B2B logados. Preços, badges, regras de quantidade e o card de representante de vendas refletem automaticamente o catálogo da empresa do cliente e os prazos de pagamento — você não precisa de um "template de produto B2B" e um "template de produto B2C" como arquivos paralelos.


main-product

Arquivo da seção: sections/main-product.liquid

A PDP em si — galeria, título, preço, picker de variante, input de quantidade, ATC e cada superfície B2B-aware empilhadas em uma seção. Cada bloco abaixo é um bloco de seção main-product que você pode reordenar no customizer.

Galeria

  • Imagem principal com rollover de imagem em cards de listagem (2+ imagens necessárias)
  • Miniaturas abaixo da imagem principal
  • Click-to-zoom (lightbox)
  • Mobile: carrossel deslizável com pontos

Título + meta

  • Título do produto
  • Vendor (se exibido)
  • Rótulo Ships-from — metafield por produto vertex.ships_from ou padrão para todo o tema
  • Linha de MPN — quando vertex.mpn está definido, exibe "MPN: 1N4148" sob o título

Bloco de preço

A superfície de preço é B2B-aware por padrão:

  • Faixas de preços por volume — renderizadas pelo servidor a partir do quantity_price_breaks da Shopify. Compradores veem "1–9: $4.50 · 10–49: $4.10 · 50+: $3.80" inline. Auto-renderiza quando a variante tem quantity_price_breaks_count > 0.
  • Preços que exigem login — quando a theme setting Hide prices until customer logs in está habilitada, preços são substituídos por "Log in to see pricing" + um link de sign-in para visitantes.
  • Preço B2B compare-at — exibição riscada quando o preço do catálogo B2B é menor que o preço da vitrine.

Picker de variante

Renderiza como botões estilizados (swatches para cor, botões de tamanho para tamanho, dropdown para outros eixos). Variantes esgotadas são visualmente desabilitadas (riscadas) mas ainda selecionáveis para que o comprador veja alternativas.

Input de quantidade

Regras de quantidade são aplicadas tanto no lado do cliente quanto no lado do servidor:

RegraComportamento
MOQ (mínimo)Não pode decrementar abaixo do MOQ. Mensagem inline: "Minimum order: 12".
MáximoNão pode incrementar acima do máximo. Mensagem inline: "Maximum: 144".
Incremento de case-packAvança em incrementos do tamanho do case-pack. Entrada manual arredonda para o próximo valor válido com uma pequena notificação toast.

Compradores vinculados a um catálogo B2B recebem as regras de quantidade específicas da empresa; visitantes recebem as regras da vitrine. Ambas vêm da API nativa da Shopify — o Vertex apenas as renderiza.

Add to cart + Buy it now

  • Add to cart — ATC padrão, desabilitado quando esgotado a menos que pre-order esteja habilitado
  • Buy it now — botões de checkout acelerado da Shopify (Shop Pay, Apple Pay, Google Pay, PayPal). Opcional via Shopify Settings.
  • Pre-order — quando a variante é permissível para pedido posterior, substitui "Sold out" por "Pre-order" (usa o rastreamento de inventário nativo da Shopify)
  • Alerta back-in-stock — quando a variante está esgotada e pre-order está desligado, mostra um formulário de opt-in de e-mail (nativo, sem app extra)

Card de representante de vendas

Para compradores B2B logados, um card de representante de vendas aparece na PDP mostrando o rep atribuído à empresa:

  • Nome (de vertex.rep_name)
  • E-mail (de vertex.rep_email, como link mailto:)
  • Telefone (de vertex.rep_phone, como link tel:)

Renderiza apenas quando pelo menos um campo de rep está populado e o cliente é customer.b2b?.

Auto-gerado a partir da coleção primária do produto. Emite JSON-LD BreadcrumbList.

Bloco de tabela de especificações técnicas

Bloco tech-specs — renderiza uma tabela de specs limpa em 2 colunas a partir dos seus dados de especificações técnicas. Use para dimensões, peso, material, voltagem, capacidade, certificações.

→ Veja o Guia de configuração de metafield para populamento.

Bloco de documentos e downloads

Bloco documents — renderiza uma lista de downloads de PDF a partir de metafields do produto:

  • Datasheet (vertex.datasheet)
  • MSDS (vertex.msds)
  • Brochure (vertex.brochure)
  • Technical sheet (vertex.tech_sheet)
  • Installation guide (vertex.installation)
  • Warranty card (vertex.warranty)

Auto-oculta por produto quando nenhum documento está anexado.

Disclosure de histórico de preços

Bloco price-history — seção colapsável "Price history" que lê do metafield vertex.price_history (lista de entradas date+price). Útil para compradores industriais monitorando tendências de mercado.

Contador de estoque (indicador de estoque baixo)

Bloco stock-counter — cue de urgência por variante. Só aparece para variantes cujo inventário você rastreia, e muda para o aviso "Only N left" assim que o estoque cai ao limite baixo (10 unidades). Estimula a ação sem revelar o inventário exato aos concorrentes.

Renderiza um destes estados:

  • Estoque suficiente (mais de 10): "In stock"
  • A 10 unidades ou menos: "Only 4 left in stock"
  • Permissível para pedido posterior (zero, mas configurado para continuar vendendo): "Back-ordered — ships in 7–10 days"
  • Esgotado (zero, não permissível para pedido posterior): "Sold out" (com formulário back-in-stock)
Preços B2B que exigem login

Quando Hide prices until customer logs in está ligado, todo o bloco de preço (incluindo faixas de volume e compare-at) é substituído por um prompt "Log in to see pricing" para visitantes. Regras de quantidade, contador de estoque e o card de representante de vendas ainda aparecem para que compradores possam decidir se vale a pena fazer login pelo produto.


product-tabs

Arquivo da seção: sections/product-tabs.liquid

Bloco de seção que divide o conteúdo da PDP em abas. Solte essa seção abaixo de main-product no seu template product.json para reduzir confusão visual em produtos com specs longas.

Configurações de bloco por aba: título, conteúdo (richtext / arquivo / vídeo).

Padrões comuns de aba:

  • Description — copy principal de marketing
  • Specs — specs técnicas estendidas além da tabela de tech-spec
  • Datasheet — viewer de PDF embutido
  • Shipping & Returns — info de logística
  • Video — YouTube / Vimeo embutido

As abas usam <details> + <summary> nativos para acessibilidade total por teclado. A primeira aba está aberta por padrão; abrir outra auto-fecha as outras (modo acordeão) ou permanece aberta (modo toggle) dependendo da configuração Allow multiple open da seção.


Arquivo da seção: sections/related-products.liquid

Faixa de recomendação abaixo da PDP. Puxa de produtos da mesma coleção ou mesma tag.

Configurações:

ConfiguraçãoNotas
HeadingEx.: "Customers also viewed" ou "You may also like".
Sourcesame_collection (padrão) · same_tag · manual.
Max products4 (padrão) / 6 / 8 / 12.
Show priceToggle. Respeita regras de preços que exigem login.
Show vendorToggle.

Para compradores de catálogo B2B, apenas produtos no catálogo do comprador são exibidos (filtragem nativa da Shopify — o Vertex respeita isso de ponta a ponta).


recently-viewed

Arquivo da seção: sections/recently-viewed.liquid

Produtos rastreados via localStorage (até 12 por comprador). Aparecem na parte inferior da PDP e podem ser soltos na página inicial como uma faixa.

Como funciona

  • Cada visualização de produto anexa a uma chave de localStorage vertex_recently_viewed (FIFO, limitada a 12)
  • A seção lê essa chave do lado do cliente e busca o markup do card de cada produto
  • Limpa quando o comprador limpa os dados do site no navegador — não é uma wishlist, não é persistido na Shopify

Configurações

  • Heading"Recently viewed"
  • Max products — 4 / 6 / 8 / 12
  • Hide if empty — toggle, padrão on (toda a seção desaparece quando o comprador não tem histórico de visualização)
Por que localStorage, não uma wishlist

Uma wishlist persistente exige um app Shopify — o Vertex permanece em conformidade com a política da Theme Store mantendo recently-viewed estritamente com escopo de sessão/navegador. Compare é o mesmo padrão (veja Seções exclusivas B2B).


sticky-cart

Arquivo da seção: sections/sticky-cart.liquid

Barra fixa de ATC apenas mobile que aparece após o comprador rolar além do ATC principal. Mantém add-to-cart a um toque de distância mesmo quando estão profundamente na tabela de specs.

O que renderiza

  • Miniatura da imagem do produto (esquerda)
  • Título e preço da variante selecionada
  • Input de qty
  • Botão ATC (direita)

Configurações

  • Show on mobile only — padrão on (desktop tem o sticky header para navegação; mobile ganha mais lift de conversão de sticky ATC)
  • Show variant title — toggle
  • Color scheme

A seção usa um IntersectionObserver no ATC principal — só renderiza quando o ATC principal sai do viewport e desaparece quando rolado de volta para a view.

Vertex Theme — Product page


Cheat-sheet de interações B2B

SuperfícieVisitanteB2C logadoB2B logado
Bloco de preçoOculto se "Hide prices until customer logs in" está ligadoPreço da vitrinePreço do catálogo B2B + faixas de volume
Faixas de preços por volumeOcultoOcultoVisível (renderizado pelo servidor)
Regras de quantidadeMOQ/max da vitrineMOQ/max da vitrineMOQ/max do catálogo da empresa
Card de representante de vendasOcultoOcultoVisível (quando campos de rep estão populados)
Badge de prazos NETOcultoOcultoVisível na barra de saudação (não na PDP)
ATC Pre-orderVisível quando habilitadoVisível quando habilitadoVisível quando habilitado
Formulário back-in-stockVisível quando esgotadoVisível quando esgotadoVisível quando esgotado
Contador de estoqueVisívelVisívelVisível
Recently viewedVisível (localStorage)Visível (localStorage)Visível (localStorage)

O que vem a seguir