Skip to main content
O bloco Cart items é a lista de itens de linha do carrinho, renderizando cada produto que o comprador adicionou com sua imagem, título, variante, preço, seletor de quantidade e controle de remoção. É um bloco obrigatório, e é o contêiner que hospeda os sub-blocos do carrinho (a linha Product, Subscription upgrade e Custom code), fornecendo a estrutura à qual os sub-blocos por linha se anexam.
Bloco Cart items exibindo itens de linha com imagem do produto, título, variante, preço, seletor de quantidade e controle de remoção

A linha Product

Dentro de Cart items fica o sub-bloco Product: a própria linha do item. Ele é bloqueado e adicionado automaticamente, então todo bloco Cart items sempre tem exatamente uma linha Product que você não pode remover; você reposiciona os outros sub-blocos ao redor dela. Suas configurações controlam como o preço de cada linha é exibido: A própria linha renderiza a imagem do produto (com link para a página do produto quando disponível), título, variante, preço e qualquer preço de comparação riscado, um seletor de quantidade e um botão de remover. Linhas de bundle mostram uma lista expansível dos seus componentes.

Estilização de texto

A linha Product inclui uma seção Text nas suas configurações de Design. Use-a para controlar a tipografia de elementos de texto individuais em cada item de linha. Selecione um elemento de texto no seletor para ajustar suas configurações: Os elementos de texto que você pode estilizar estão agrupados por categoria: Product
  • Product title — o nome do produto em cada linha. Também suporta uma família de fonte personalizada.
  • Variant — o rótulo da variante (por exemplo, Size: Medium).
  • Subscription plan — o rótulo somente leitura do plano exibido nas linhas de assinatura.
Pricing
  • Price — o preço atual da linha.
  • Compare-at price — o preço original riscado.
  • Savings — o rótulo de economia (por exemplo, Save $5.00). Apenas Size e Line height — negrito e cor são definidos no Rich Text Editor acima.
Bundle
  • Bundle toggle — o cabeçalho expansível que abre a lista de componentes de um bundle.
  • Bundle item title — o título de cada componente dentro de um bundle.
  • Bundle item variant — o rótulo de variante de cada componente do bundle.
Deixar qualquer campo em branco mantém o valor padrão do elemento.
Clicar em um elemento de texto diretamente na pré-visualização do carrinho o destaca e abre seus controles no painel automaticamente.

Design das tags de desconto

A linha Product inclui uma seção Discount tags nas suas configurações de Design. Use-a para estilizar as pílulas de tag de desconto que aparecem em cada item de linha: Essas configurações se aplicam apenas às tags de desconto de itens de linha no bloco Cart items. As tags de código de desconto no bloco Summary são estilizadas separadamente.

Sub-blocos e como eles se posicionam

Cart items é o único bloco que hospeda sub-blocos. Os sub-blocos são renderizados uma vez por linha, dentro de cada linha de produto, posicionados em relação à linha Product fixada:
  • Sub-blocos ordenados antes da linha Product aparecem acima do conteúdo do produto em cada linha.
  • Sub-blocos ordenados depois da linha Product aparecem abaixo do conteúdo do produto em cada linha.
Assim, um Subscription upgrade colocado depois da linha Product aparece abaixo de cada linha elegível, e não uma única vez no final da lista inteira.

Comportamento

  • Quando o carrinho não tem itens, o drawer muda para o estado vazio e este bloco não é exibido.
  • Apenas uma alteração no carrinho é executada por vez. Enquanto uma atualização de quantidade ou remoção está em andamento, os controles da linha ficam desativados para manter o carrinho consistente, e são reativados quando a alteração é concluída.
  • Reduzir a quantidade de uma linha abaixo de 1 a remove. Uma quantidade que a loja rejeita (por exemplo, acima do estoque disponível) é ressincronizada com o último valor válido.
  • Bundles mudam como uma unidade. Ajustar a quantidade na linha âncora de um bundle escala o bundle inteiro em uma única operação — se um item filho está incluído a 3 por âncora, levar a âncora de 1 para 2 leva esse filho a 6. Remover a âncora remove todos os membros do bundle de uma vez.
  • Alguns bundles não podem ter a quantidade alterada. Se qualquer filho de um bundle estiver incluído a uma taxa fracionária (1,5 por âncora, por exemplo), o seletor de quantidade desse bundle é bloqueado: os botões +/− e o campo de quantidade ficam desativados, e quantidades digitadas não são aceitas. O bundle ainda pode ser removido.
  • Linhas de assinatura mostram seu plano. Quando uma linha tem um plano de venda e o sub-bloco Subscription upgrade está desativado ou não foi adicionado, a linha Product mostra um rótulo de plano somente leitura abaixo da variante — por exemplo, Delivers every month (save 30%). Quando esse sub-bloco está ativado, ele apresenta o plano no seu próprio seletor, então o rótulo somente leitura é suprimido em vez de duplicado.

Posicionamento e limites

  • Região: corpo.
  • Máximo: 1 por estado do carrinho.
  • Estado: apenas carrinho cheio.
  • Bloqueado e adicionado por padrão. Cart items não pode ser removido nem ocultado, apenas reposicionado.

Template personalizado

Suporta um template personalizado pela sua aba Code, que substitui a marcação nativa deste bloco pelo seu JSX. Estas são as props que ele recebe. O contêiner Cart items não tem template personalizado. A linha Product dentro dele tem, e é a superfície mais rica do carrinho: seu template é renderizado uma vez por linha.

Conteúdo da linha

price e compareAtPrice são strings formatadas; tudo em line está em centavos. Não faça aritmética com price. Calcule a partir de line.finalLinePrice e afins, e depois passe o resultado por formatMoney.

Quantidade e remoção

Renderizando um bundle

Na linha âncora de um bundle, bundle.children contém seu conteúdo. Os filhos nunca aparecem como linhas próprias, então, se você não os renderizar, o comprador não verá o que há no bundle:
O key de um filho é null para um componente de bundle nativo da Shopify, então recorra ao índice, como acima.

Design

Estilize este bloco pela sua seção Design no painel de configurações. São substituições por bloco que se sobrepõem ao seu design global e recorrem a ele quando estão em branco. O que são configurações de design? Saiba mais aqui: Configurações de design.