Перейти к основному содержимому

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

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-клиентам - доставка бесплатно!