Поддерживаемый синтаксис Liquid для блоков в Checkout Blocks
Checkout Blocks поддерживает подмножество синтаксиса Liquid, который можно использовать в нескольких доступных типах блоков для персонализации настроек оформления заказа на основе переменных.
На этой странице
Поддерживаемые переменные Liquid
В следующих списках перечислены все поддерживаемые переменные Liquid, которые можно использовать в блоке «Динамический контент» или «Контент позиции». Некоторые переменные доступны только на определённых страницах оформления заказа, а другие могут быть включены только в определённые типы блоков.
Подробные сведения о каждой переменной см. в документации Shopify по объектам Liquid.
Переменные Liquid для оформления заказа
Для оформления заказа поддерживаются следующие переменные Liquid:
checkout.attributescheckout.currencycheckout.has_selling_plancheckout.item_countcheckout.line_items_subtotal_pricecheckout.localecheckout.marketcheckout.metafieldscheckout.notecheckout.requires_shippingcheckout.shipping_pricecheckout.tax_pricecheckout.total_price
Переменные Liquid для клиентов
Для клиентов поддерживаются следующие переменные Liquid:
customer.idcustomer.b2bcustomer.full_namecustomer.first_namecustomer.last_namecustomer.emailcustomer.phone
Переменные Liquid для локализации
Для рынков поддерживаются следующие переменные Liquid:
localization.marketlocalization.market.idlocalization.market.handle
Переменные Liquid для заказов
Для заказов поддерживаются следующие переменные Liquid:
checkout.order.idcheckout.order.legacyResourceIdcheckout.order.name
Переменные Liquid для магазина
Для информации о магазине поддерживаются следующие переменные Liquid:
shop.nameshop.url
Переменные Liquid для позиций
Переменные позиции доступны только в блоке контента для позиции.
Для позиций поддерживаются следующие переменные Liquid:
line_item.attributesline_item.gift_cardline_item.has_selling_planline_item.line_priceline_item.line_level_discount_allocationsline_item.line_level_total_discountline_item.options_with_valuesline_item.priceline_item.productline_item.product.is_gift_cardline_item.product.product_typeline_item.product.requires_selling_planline_item.product.tagsline_item.product.vendor
line_item.quantityline_item.requires_shippingline_item.skuline_item.subtitleline_item.titleline_item.triggerline_item.typeline_item.variantline_item.variant.available_for_saleline_item.variant.barcodeline_item.variant.compare_at_priceline_item.variant.idline_item.variant.priceline_item.variant.price.amountline_item.variant.price.currency_code
line_item.variant.requires_shippingline_item.variant.skuline_item.variant.titleline_item.variant.unit_priceline_item.variant.weightline_item.variant.weight_unit
line_item.variant_idline_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 }}Атрибуты корзины
Чтобы отобразить значение определённого атрибута корзины, например даты доставки, можно использовать этот фрагмент. Обязательно замените ключ Delivery date на собственный.
{% 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 -%}