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.

A linha Product
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
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.
- 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 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.
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
- 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.
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
Conteúdo da linha
Quantidade e remoção
Renderizando 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:
key de um filho é null para um componente de bundle nativo da Shopify, então recorra ao índice, como acima.