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