Язык шаблонов Liquid
Liquid - это язык шаблонов, созданный Shopify, который используется многими различными программными проектами и компаниями.
Основная задача Liquid - вставка динамического контента в шаблонах.

Что такое язык шаблонов?

Пользователи приложения могут использовать язык шаблонов для создания текста SMS, который объединяет статический контент, и динамический контент, который меняется от документа к документу.
Пример:
1
Спасибо за заказ {{ name }} на сумму {{ sum }}.
Copied!

Синтаксис Liquid

Как и в традиционных языках программирования, Liquid имеет синтаксис, взаимодействует с переменными и включает такие конструкции, как вывод и логика. Благодаря удобочитаемому синтаксису конструкции Liquid легко распознаются и отличаются от обычного текста двумя наборами разделителей: разделителями с двойными фигурными скобками {{ }}, которые обозначают выходные данные, и разделителями с фигурными скобками в процентах {% %}, которые обозначают логику.
Существует три основных особенности кода Liquid:

Массивы

Массивы выводят фрагменты данных из документов МоегоСклада. В шаблоне темы объекты заключены в двойные фигурные скобки {{ }}и выглядят так:
1
Спасибо за заказ, {{ agent.name }}
Copied!
В приведенном выше примере мы выводим переменную name (название) из массива agent (контрагент).
{{ agent.name }} - одна из множества переменных Liquid, который можно применить в вашем шаблоне. Полный список объектов и переменных в них, доступный для того или иного документа МойСклад можно найти в справочнике "Язык Шаблонов" на странице создания или редактирования шаблонов.
Когда происходит событие шаблона (например, у вас настроен шаблон на отправку SMS при создании заказа), приложение заменяет объекты Liquid в тексте SMS на данные из документа. Таким образом объект {{ agent.name }} заменится в тексте SMS на название контрагента.
1
Спасибо за заказ, ООО "РОГА И КОПЫТА"
Copied!

Теги

Теги Liquid используются для создания логики внутри шаблонов. Теги {% %} и текст внутри не отображаются при генерации текста SMS, но позволяют назначать переменные и создавать условия или циклы.
Например, вы можете использовать теги Liquid для отображения различного содержимого в тексте SMS в зависимости от того, выполняется ли условие:
1
{% if applicable == true %}
2
Документ проведен
3
{% else %}
4
Документ не проведен
5
{% endif %}
Copied!
В примере выше применяется тэги выполнения условия {% if %} и {% else %}
Тэги Liquid можно категоризировать следующим образом:

Фильтры

Фильтры используются для изменения вывода чисел, строк, объектов и переменных. Они помещаются в выходной тег {{ }}и обозначаются символом |.
Простой пример - capitalizeстроковый фильтр:
1
{{ 'hello, world!' | capitalize }}
2
{{ agent.name | capitalize }}
Copied!
Фильтр изменяет строку, меняя первую букву каждого слова на заглавную. Выход будет:
1
Hello, World
2
ИП Иванов Иван Иванович
Copied!
Несколько фильтров могут быть использованы на одном объекте, и они применяются слева направо:
1
{{ 'hello, world!' | capitalize | remove: "world" }}
2
{{ agent.namt | capitalize | remove: "ИП" }}
Copied!
Строка начинается с заглавной буквы, а затем слово worldудаляется. Выход будет:
1
Hello, !
2
Иванов Иван Иванович
Copied!
Вы можете использовать фильтры для разнообразных полезных манипуляций с данными. Они подразделяются на 4 типа:
Last modified 1yr ago