Язык шаблонов Liquid
Liquid - это язык шаблонов, созд анный Shopify, который используется многими различными программными проектами и компаниями.
Основная задача Liquid - вставка динамического контента в шаблонах.
Пользователи приложения могут использовать язык шаблонов для создания текста SMS, который объединяет статический контент, и динамический контент, который меняется от документа к документу.
Пример:
Спасибо за заказ {{ name }} на сумму {{ sum }}.
Как и в традиционных языках программирования, Liquid имеет синтаксис, взаимодействует с переменными и включает такие конструкции, как вывод и логика. Благодаря удобочитаемому синтаксису конструкции Liquid легко распознаются и отличаются от обычного текста двумя наборами разделителей: разделителями с двойными фигурными скобками
{{ }}
, которые обозначают выходные данные, и разделителями с фигурными скобками в процентах {% %}
, которые обозначают логику.Существует три основных особенности кода Liquid:
Массивы выводят фрагменты данных из документов МоегоСклада. В шаблоне темы объекты заключены в двойные фигурные скобки
{{ }}
и выглядят так:Спасибо за заказ, {{ agent.name }}
В приведенном выше примере мы выводим переменную
name
(название) из массива agent
(контрагент).{{ agent.name }}
- одна из множества переменных Liquid, который можно применить в вашем шаблоне. Полный список объектов и переменных в них, доступный для того или иного документа МойСклад можно найти в справочнике "Язык Шаблонов" на странице создания или редактирования шаблонов.
Когда происходит событие шаблона (например, у вас настроен шаблон на отправку SMS при создании заказа), приложение заменяет объекты Liquid в тексте SMS на данные из документа. Таким образом объект
{{ agent.name }}
заменится в тексте SMS на название контрагента. Спасибо за зак аз, ООО "РОГА И КОПЫТА"
Теги Liquid используются для создания логики внутри шаблонов. Теги
{% %}
и текст внутри не отображаются при генерации текста SMS, но позволяют назначать переменные и создавать условия или циклы.Например, вы можете использовать теги Liquid для отображения различного содержимого в тексте SMS в зависимости от того, выполняется ли условие:
{% if applicable == true %}
Документ проведен
{% else %}
Документ не проведен
{% endif %}
Тэги Liquid можно категоризировать следующим образом:
Фильтры используются для изменения вывода чисел, строк, объектов и переменных. Они помещаются в выходной тег
{{ }}
и обозначают ся символом |
.Простой пример -
capitalize
строковый фильтр:{{ 'hello, world!' | capitalize }}
{{ agent.name | capitalize }}
Фильтр изменяет строку, меняя первую букву каждого слова на заглавную. Выход будет:
Hello, World
ИП Иванов Иван Иванович
Несколько фильтров могут быть использованы на одном объекте, и они применяются слева направо:
{{ 'hello, world!' | capitalize | remove: "world" }}
{{ agent.namt | capitalize | remove: "ИП" }}
Строка начинается с заглавной буквы, а затем слово
world
удаляется. Выход будет:Hello, !
Иванов Иван Иванович
Вы можете использовать фильтры для разнообразных полезных манипуляций с данными. Они подразделяются на 4 типа:
Last modified 2yr ago