Поддържан синтаксис на Liquid за блокове в Checkout Blocks

Checkout Blocks поддържа подмножество от синтаксиса на Liquid, което можете да използвате в няколко от наличните типове блокове, за да персонализирате Вашите персонализации на плащането въз основа на променливи.

Поддържани променливи на Liquid

Следващите списъци включват всички поддържани променливи на Liquid, които могат да се използват в блок за динамично съдържание или блок за съдържание на отделен артикул. Някои променливи са достъпни само на определени страници на плащането, а други могат да бъдат включени само в конкретни типове блокове.

За повече информация относно всяка променлива вижте документацията за обекти на Liquid на Shopify.

Променливи на Liquid за плащане

Следните променливи на Liquid се поддържат за плащането:

  • 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

Променливи на Liquid за клиенти

Следните променливи на Liquid се поддържат за клиенти:

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

Променливи на Liquid за локализация

Следните променливи на Liquid се поддържат за пазари:

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

Променливи на Liquid за поръчки

Следните променливи на Liquid се поддържат за поръчки:

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

Променливи на Liquid за магазин

Следните променливи на Liquid се поддържат за информация за магазина:

  • shop.name
  • shop.url

Променливи на Liquid за отделни артикули

Променливите за ред са достъпни само в блок „Съдържание на ред“.

Следните променливи на Liquid се поддържат за редове:

  • 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

Примери за фрагменти с Liquid

По-долу са дадени няколко примера за фрагменти на Liquid, поддържани от Checkout Blocks.

Проверка дали плащането е B2B

Можете да показвате съдържание само когато плащането е B2B.

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

Анализиране на JSON

Можете да анализирате JSON стойности, като например от атрибути на ред (свойства) или метаполета.

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

Форматиране на валута

Checkout Blocks поддържа изцяло многовалутно плащане. Просто използвайте филтъра „money“, за да анализирате и форматирате суми, като използвате формата на активната валута. Това не конвертира валутата автоматично.

{{ checkout.total_price | money }}

Бележка към поръчката

Можете да покажете стойността на бележката към поръчката, като например въведеното в количката.

{{ checkout.note }}

Атрибути на количката

За да покажете стойността на конкретен атрибут на количката, като например дата на доставка, можете да използвате този фрагмент. Уверете се, че сте променили ключа „Дата на доставка“, така че да съответства на Вашия собствен.

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

Delivery Date: {{ delivery_date }}

Показване на цялото съдържание на Liquid за плащането

Ако трябва да прегледате какви стойности съществуват в обекта на плащането, можете да използвате JSON филтър, за да ги сериализирате. Това трябва да се използва само за целите на отстраняване на грешки.

{{ checkout | json }}

Метаполета за плащане

Можете да показвате потребителски полета, запазени в данните за плащане, на страниците за благодарност и за състоянието на поръчката, като се позовете на метаполетата за плащане. Научете повече за достъпа до метаполета.

Заместете your-namespace с Вашето именно пространство и your-custom-field-key с ключа на Вашето потребителско поле, както е дефинирано в блока:

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

Форматиране на дата

В този пример създаваме дата 4 дни напред в бъдещето (432 000 секунди) и след това я форматираме.

Можете да върнете датата, форматирана като „02/24/2025“:

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

Алтернативно, можете да форматирате датата като „Feb 24, 2025“:

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

Научете повече за форматирането на дати в Liquid.

Персонализации на съдържанието на ред

По-долу са дадени няколко примера за фрагменти на Liquid, които можете да използвате в блокове „Съдържание на ред“.

Условно показване на оригиналната цена

Можете условно да покажете оригиналната цена на даден ред, като използвате този фрагмент.

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

Показване на съдържание въз основа на етикети на продукти

Можете условно да показвате съдържание на ред въз основа на етикетите на продуктите, които са чувствителни към регистъра на буквите.

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

Атрибути на ред (свойства)

Можете да обходите атрибутите на ред, известни също като свойства на ред, и да показвате информация, като например прогнози за доставка, предварителни поръчки и други.

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

Показване на стойността на „тригер на метаполе“

Следният код ще съдържа стойността на тригера.

{{ line_item.trigger }}

Показване на повтарящата се обща сума за ред

Ако трябва да покажете повтарящата се обща сума за ред от абонамент преди еднократните отстъпки, тогава можете да използвате line_level_total_discount стойност.

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