Теги проверки условия

Теги проверки условия создают условия, которые определяют, будут ли выполняться блоки кода Liquid.

if

Выполняет блок кода, только если выполняется определенное условие (то есть, если результат true).

Пример:

{% if store.name == "Первый склад" %}
  Отгрузим с первого склада!
{% endif %}

Вывод

Отгрузим с первого склада!

unless

Как if, но выполняет блок кода , только если определенное условие не выполняется (то есть, если результат false).

Пример:

{% unless store.name == "Первый склад" %}
  Отгрузим со второго склада!
{% endunless %}

Вывод

Отгрузим со второго склада!

Приведенный выше пример такой же, как:

{% if store.name != 'Первый склад' %}
  Отгрузим со второго склада!
{% endif %}

else / elsif

Добавляет больше условий в блок ifили unless.

Пример

{% if organizationAccount.accountNumber == '1234567890' %}
  Мы ждем оплату на счет 1234567890
{% elsif organizationAccount.accountNumber == '0987654321' %}
  Мы ждем оплату на счет 0987654321
{% else %}
  Мы сообщим вам номер счета позже!
{% endif %}

Вывод

Мы ждем оплату на счет 1234567890

case / when

Создает оператор переключения для выполнения определенного блока кода, когда переменная имеет указанное значение. caseинициализирует оператор переключения, а whenоператоры определяют различные условия.

При желании вы можете добавить elseинструкцию в конце, чтобы предоставить код для выполнения, если не выполнено ни одно из условий.

Пример

{% case carrier.name %}
  {% when 'СДЭК' %}
     Отправление СДЭК
  {% when 'Почта России' %}
     Отправление Почтой России
  {% when 'Самовывоз' %}
     Адрес самовывоза: ул. Ленина, д. 1
  {% else %}
     Спасибо за заказ, мы свяжемся с вами позже!
{% endcase %}

Вывод

Отправление СДЭК

Несколько условий (and / or)

Вы можете использовать andи orоператоры , чтобы включить более чем одно условие в теге проверки условия. andи orмогут быть объединены в цепочку для создания сложных условий.

Если вы используете несколько операторов andили orоператоров, обратите внимание, что сначала выполняются операторы and , а затем операторы or. Вы не можете использовать скобки для имитации порядка операций и управления порядком оценки операторов. Скобки - недопустимые символы в тегах Liquid и препятствуют работе ваших тегов.

and

andОператор позволяет добавлять дополнительные условия для тега. Условие с andбудет справедливо только тогда , когда и левая и правая часть условия истинны.

Пример:

{% if sum > 20000 and agent.actualAddressFull.city == 'Москва' %}
  Спасибо за заказ! Мы доставим его бесплатно!
{% endif %}

Вывод

Спасибо за заказ! Мы доставим его бесплатно!

or

Оператор or позволяет добавлять дополнительные условия для тега. Условие с orбудет справедливо , если либо левая либо правая сторона условия истинна.

Пример:

{% if agent.discountCardNumber contains 'VIP' or agent.email contains 'moysklad.ru' %}
  VIP-клиентам - доставка бесплатно!
{% else %}
  Доставка в пределах МКАД - 250р.
{% endif %}

Вывод

VIP-клиентам - доставка бесплатно!

Last updated