Sintaxe do Liquid compatível com blocos no Checkout Blocks

O Checkout Blocks é compatível com um subconjunto da sintaxe do Liquid que você pode usar em vários dos tipos de bloco disponíveis para personalizar as personalizações do checkout com base em variáveis.

Variáveis do Liquid compatíveis

As listas a seguir incluem todas as variáveis do Liquid compatíveis que podem ser usadas em um bloco de Conteúdo dinâmico ou de Conteúdo do item de linha. Algumas variáveis só podem ser acessadas em determinadas páginas do checkout, e outras só podem ser incluídas em tipos de bloco específicos.

Consulte a documentação de objetos do Liquid da Shopify para ver informações específicas sobre cada variável.

Variáveis do Liquid para o checkout

As seguintes variáveis do Liquid são compatíveis com o checkout:

  • checkout.attributes
  • checkout.currency
  • checkout.has_selling_plan
  • checkout.item_count
  • checkout.line_items_subtotal_price
  • checkout.locale
  • checkout.market
  • checkout.metafields
  • checkout.note
  • checkout.requires_shipping
  • checkout.shipping_price
  • checkout.tax_price
  • checkout.total_price

Variáveis do Liquid para clientes

As seguintes variáveis do Liquid são compatíveis com clientes:

  • customer.id
  • customer.b2b
  • customer.full_name
  • customer.first_name
  • customer.last_name
  • customer.email
  • customer.phone

Variáveis do Liquid para localização

As seguintes variáveis do Liquid são compatíveis com mercados:

  • localization.market
    • localization.market.id
    • localization.market.handle

Variáveis do Liquid para pedidos

As seguintes variáveis do Liquid são compatíveis com pedidos:

  • checkout.order.id
  • checkout.order.legacyResourceId
  • checkout.order.name

Variáveis do Liquid para a loja

As seguintes variáveis do Liquid são compatíveis com informações da loja:

  • shop.name
  • shop.url

Variáveis do Liquid para itens de linha

As variáveis de item de linha só podem ser acessadas em um bloco de Conteúdo de item de linha.

As seguintes variáveis do Liquid são compatíveis com itens de linha:

  • line_item.attributes
  • line_item.gift_card
  • line_item.has_selling_plan
  • line_item.line_price
  • line_item.line_level_discount_allocations
  • line_item.line_level_total_discount
  • line_item.options_with_values
  • line_item.price
  • line_item.product
    • line_item.product.is_gift_card
    • line_item.product.product_type
    • line_item.product.requires_selling_plan
    • line_item.product.tags
    • line_item.product.vendor
  • line_item.quantity
  • line_item.requires_shipping
  • line_item.sku
  • line_item.subtitle
  • line_item.title
  • line_item.trigger
  • line_item.type
  • line_item.variant
    • line_item.variant.available_for_sale
    • line_item.variant.barcode
    • line_item.variant.compare_at_price
    • line_item.variant.id
    • line_item.variant.price
      • line_item.variant.price.amount
      • line_item.variant.price.currency_code
    • line_item.variant.requires_shipping
    • line_item.variant.sku
    • line_item.variant.title
    • line_item.variant.unit_price
    • line_item.variant.weight
    • line_item.variant.weight_unit
  • line_item.variant_id
  • line_item.vendor

Exemplos de snippets que usam o Liquid

Veja a seguir alguns exemplos de snippets do Liquid compatíveis com o Checkout Blocks.

Verificar se o checkout é B2B

É possível exibir conteúdo apenas quando o checkout for B2B.

{%- if customer.b2b -%}
B2B
{%- endif -%}

Analisar JSON

É possível analisar valores JSON, como os de atributos de item de linha (propriedades) ou metacampos.

{%- assign complex_json = checkout.metafields.checkoutblocks.complex | json -%}

Formatar moeda

O Checkout Blocks é totalmente compatível com o checkout em várias moedas. Basta usar o filtro de dinheiro para analisar e formatar valores no formato da moeda ativa. Isso não converte a moeda automaticamente.

{{ checkout.total_price | money }}

Observação do carrinho

É possível exibir o valor da observação do carrinho, como o que foi inserido no carrinho.

{{ checkout.note }}

Atributos do carrinho

Para exibir o valor de um atributo do carrinho específico, como uma data de entrega, use este snippet. Lembre-se de alterar a chave Delivery date para que ela corresponda à sua.

{% assign delivery_date = '' %}
{% for attribute in checkout.attributes %}
  {% if attribute.key == 'Delivery date' %}
    {% assign delivery_date = attribute.value %}
  {% endif %}
{% endfor %}

Delivery Date: {{ delivery_date }}

Exibir todo o conteúdo do Liquid do checkout

Se você precisar analisar quais valores existem no objeto de checkout, poderá usar o filtro JSON para serializar. Isso deve ser usado apenas para fins de depuração.

{{ checkout | json }}

Metacampos do checkout

É possível exibir campos personalizados salvos no checkout nas páginas de agradecimento e de status do pedido ao fazer referência aos metacampos do checkout. Saiba mais sobre como acessar metacampos.

Substitua your-namespace pelo seu namespace e your-custom-field-key pela chave do campo personalizado, conforme definido no bloco:

{{ checkout.metafields.your-namespace.your-custom-field-key.value }}

Formatar uma data

Neste exemplo, criamos uma data para 4 dias no futuro (432.000 segundos) e a formatamos.

É possível retornar a data formatada como “02/24/2025”:

{% assign future_date = "now" | date: "%s" | plus: 432000 %}
{{ future_date | date: "%m/%d/%Y" }}

Como alternativa, é possível formatar a data como “Fev 24, 2025”:

{% assign future_date = "now" | date: "%s" | plus: 432000 %}
{{ future_date | date: "%b %d, %Y" }}

Saiba mais sobre como formatar datas no Liquid.

Personalizações de conteúdo de item de linha

Veja a seguir alguns exemplos de snippets do Liquid que você pode usar em blocos de conteúdo de item de linha.

Exibir a comparação de preços condicionalmente

É possível exibir condicionalmente a comparação de preços de um item de linha com este snippet.

{%- if line_item.variant.compare_at_price.amount -%}
On sale. Originally {{ line_item.variant.compare_at_price.amount | times: line_item.quantity | money }}
{%- endif -%}

Exibir conteúdo com base nas tags de produto

É possível exibir condicionalmente o conteúdo do item de linha com base nas tags de produto, que diferenciam maiúsculas de minúsculas.

{%- if line_item.product.tags contains 'final-sale' -%}
Final sale
{%- endif -%}

Atributos de item de linha (propriedades)

É possível iterar sobre os atributos de item de linha, também conhecidos como propriedades de item de linha, e exibir informações como estimativas de entrega, pré-vendas e muito mais.

{%- assign first_line_attribute = line_item.attributes | first  -%}
{%- assign first_attribute_value =  first_line_attribute.value | json_parse  -%}
{%- assign message =  first_attribute_value.message -%}
{%- if message -%}
  {{ message }}
{%- endif -%}

Exibir o valor do “acionador de metacampo”

O código a seguir conterá o valor do acionador.

{{ line_item.trigger }}

Exibir o total recorrente de um item de linha

Se for preciso exibir o total recorrente de um item de linha de assinatura antes dos descontos únicos, use o line_level_total_discount valor.

{%- if line_item.line_level_total_discount > 0 and line_item.has_selling_plan -%}
Recurring total: {{ line_item.line_price | plus: line_item.line_level_total_discount | money }}
{%- endif -%}