Bytehand + Мойсклад
  • Интеграция Bytehand и МойСклад
  • Первые шаги
    • Установка
    • Выбор тарифа
    • Заключение договора
    • Настройки приложения
  • Использование
    • Шаблоны
      • Виды шаблонов
      • Создание шаблона
      • Остановка шаблона
    • Язык шаблонов Liquid
      • Массивы
      • Теги
        • Теги проверки условия
        • Теги итераций
        • Теги переменных
      • Фильтры
        • Строковые фильтры
        • Математические фильтры
        • Фильтры массивов
        • Дополнительные фильтры
      • Операторы логики
    • Примеры шаблонов
      • На создание заказа покупателя
      • На изменение заказа
  • Поддержка
    • Поддержка
    • Справочники Liquid
    • Вопросы про Bytehand
Powered by GitBook
On this page
  • Массивы
  • Массивы в многомерных массивах

Was this helpful?

  1. Использование
  2. Язык шаблонов Liquid

Массивы

PreviousЯзык шаблонов LiquidNextТеги

Last updated 5 years ago

Was this helpful?

Массивы

Массивы содержат переменные для вывода динамического содержимого на странице. Например, массив store содержит переменную с именем name , которую можно использовать для вывода названия склада.

Чтобы вывести переменную массива, оберните имя объекта в {{и }}, как показано ниже:

{{ store.name }} 

Для каждого документа справочник доступных массивов и переменных в них отличается.

Полный список объектов и переменных в них, доступный для того или иного документа МойСклад можно найти в справочнике "Язык Шаблонов" на странице создания или редактирования шаблонов.

Массивы в многомерных массивах

Для некоторых документов МоегоСклада вы можете обнаружить массивы, которые содержатся в многомерных массивах. О них стоит упомянуть отдельно.

На скриншоте выше приведен справочник Языка Шаблонов для документа "Заказ покупателя". Массивы attributes, purchaseOrders, demand, payments, invoicesOut, positions многомерные.

Это означает, что у "Заказа покупателя" может быть несколько "Дополнительных полей", "Заказов поставщику", "Отгрузок" и т.д.

Например, если нужно отправить название первой отгрузки для данного заказа покупателя, объект Liquid будет следующего содержания:

Заказ {{ name }} отгружен! 
Номер отгрузки {{ demands[0].name }}
Номер отгрузки {{ demands.first.name }}

Говоря простым языком, в массиве demands (Отгрузки) содержится несколько других массивов demand (Отгрузка), у каждого из которых есть переменная name.

Заказ 00005 отгружен! 
Номер отгрузки 00001
Номер отгрузки 00001

Если нужно выбрать вторую отгрузку, надо использовать индекс [1], третью [2], четвертую [3] и т.д.

Следующий код шаблона, если у заказа есть две отгрузки:

Заказ {{name }} отгружен! 
Номер первой отгрузки {{ demands[0].name }}
Номер второй отгрузки {{ demands[1].name }}

Соответсвенно выведет:

Заказ 00005 отгружен! 
Номер первой отгрузки 00001
Номер второй отгрузки 00002
Заказ {{name }} отгружен!
{% for demand in demands %}
    Номер отгрузки {{demand.name}}
{% endfor %}

Соответственно выведет

Заказ 00005 отгружен! 
Номер отгрузки 00001
Номер отгрузки 00002
{% for demand in demands %}
    {% if demand.state.name == "Выполнена" %}
    Ваша отгрузка {{ demand.state.name }} выполнена.
    {% endif %}
{% endfor %} 

[0] и говорят, что нужно выбрать переменную name для первой отгрузки.

Если количество отгрузок неизвестно, можно вывести все, используя логику Liquid - {% for %}:

Если нужно выбрать определенную отгрузку (например, нужно отправить номер отгрузки, которая находится в статусе Выполнена) - нужно использовать логику Liquid - {% for %} и {% if %}

Подробнее про теги логики языка Liquid {% for %} {% if %} {% else %} и другие читайте по .

тег итератора
теги итератора
проверки условия
ссылке
Индекс
first