Obsługiwana składnia Liquid dla bloków w aplikacji Checkout Blocks

Aplikacja Checkout Blocks obsługuje podzbiór składni Liquid, której można używać w kilku dostępnych typach bloków do personalizacji dostosowań realizacji zakupu na podstawie zmiennych.

Obsługiwane zmienne Liquid

Poniższe listy zawierają wszystkie obsługiwane zmienne Liquid, których można używać w bloku Treści dynamicznej lub Treści pozycji pojedynczej. Niektóre zmienne są dostępne tylko na niektórych stronach realizacji zakupu, a inne można umieszczać tylko w określonych typach bloków.

Szczegółowe informacje na temat każdej zmiennej można znaleźć w dokumentacji obiektów Liquid Shopify.

Zmienne Liquid dla realizacji zakupu

Poniższe zmienne Liquid są obsługiwane w przypadku realizacji zakupu:

  • 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

Zmienne Liquid dla klienta

Poniższe zmienne Liquid są obsługiwane w przypadku klientów:

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

Zmienne Liquid dla lokalizacji

Poniższe zmienne Liquid są obsługiwane w przypadku rynków:

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

Zmienne Liquid dla zamówienia

Poniższe zmienne Liquid są obsługiwane w przypadku zamówień:

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

Zmienne Liquid dla sklepu

Poniższe zmienne Liquid są obsługiwane w przypadku informacji o sklepie:

  • shop.name
  • shop.url

Zmienne Liquid dla pozycji pojedynczej

Zmienne pozycji pojedynczej są dostępne tylko w bloku Treść pozycji pojedynczej.

Następujące zmienne Liquid są obsługiwane dla pozycji pojedynczych:

  • 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

Przykłady fragmentów z użyciem Liquid

Poniżej przedstawiono kilka przykładowych fragmentów Liquid obsługiwanych przez Checkout Blocks.

Sprawdź, czy realizacja zakupu jest B2B

Możesz wyświetlić treść tylko wtedy, gdy realizacja zakupu jest typu B2B.

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

Parsowanie JSON

Możesz parsować wartości JSON, na przykład z atrybutów pozycji pojedynczej (właściwości) lub metapól.

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

Formatowanie waluty

Checkout Blocks w pełni obsługuje wielowalutową realizację zakupu. Wystarczy przekazać filtr pieniędzy, aby sparsować i sformatować kwotę pieniężną przy użyciu formatu aktywnej waluty. Nie powoduje to automatycznego przeliczania waluty.

{{ checkout.total_price | money }}

Uwaga dotycząca koszyka

Możesz wyświetlić wartość uwagi dotyczącej koszyka, na przykład to, co zostało wpisane w koszyku.

{{ checkout.note }}

Atrybuty koszyka

Aby wyświetlić wartość określonego atrybutu koszyka, takiego jak data dostawy, możesz użyć tego fragmentu. Pamiętaj, aby zmienić klucz Delivery date i dopasować go do własnego.

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

Delivery Date: {{ delivery_date }}

Wyświetlanie całej zawartości Liquid dla realizacji zakupu

Jeśli chcesz sprawdzić, jakie wartości istnieją w obiekcie realizacji zakupu, możesz użyć filtra JSON do serializacji. Należy tego używać tylko do celów debugowania.

{{ checkout | json }}

Metapola realizacji zakupu

Możesz wyświetlać pola niestandardowe zapisane w realizacji zakupu na stronie z podziękowaniem i stronie statusu zamówienia, odwołując się do metapól realizacji zakupu. Dowiedz się więcej o dostępie do metapól.

Zastąp your-namespace swoją przestrzenią nazw, a your-custom-field-key kluczem pola niestandardowego, zgodnie z definicją w bloku:

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

Formatowanie daty

W tym przykładzie tworzymy datę za 4 dni (432000 sekund), a następnie ją formatujemy.

Możesz zwrócić datę sformatowaną jako „02/24/2025”:

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

Możesz też sformatować datę jako „Feb 24, 2025”:

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

Dowiedz się więcej o formatowaniu dat w Liquid.

Dostosowania treści pozycji pojedynczej

Poniżej przedstawiono kilka przykładowych fragmentów Liquid, których możesz użyć w blokach treści pozycji pojedynczej.

Warunkowe wyświetlanie ceny do porównania

Możesz warunkowo wyświetlić cenę do porównania dla pozycji pojedynczej za pomocą tego fragmentu.

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

Wyświetlanie treści na podstawie tagów produktu

Możesz warunkowo wyświetlać treść pozycji pojedynczej na podstawie tagów produktu, w których wielkość liter ma znaczenie.

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

Atrybuty pozycji pojedynczej (właściwości)

Możesz iterować po atrybutach pozycji pojedynczej, znanych również jako właściwości pozycji pojedynczej, i wyświetlać informacje, takie jak szacowane terminy dostawy, zamówienia w przedsprzedaży i inne.

{%- 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 -%}

Wyświetlanie wartości „wyzwalacza metapola”

Poniższy kod będzie zawierał wartość wyzwalacza.

{{ line_item.trigger }}

Wyświetlanie sumy cyklicznej dla pozycji pojedynczej

Jeśli chcesz pokazać sumę cykliczną dla pozycji pojedynczej subskrypcji przed rabatami jednorazowymi, możesz wykorzystać line_level_total_discount wartość.

{%- 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 -%}