Liquid имеет доступ ко многим логическим операторам и операторам сравнения. Вы можете использовать операторы для создания логики с тегами управления.

 

В этом материале


Основные операторы

Оператор Функция
== равняется
!= не равно
> больше, чем
< меньше, чем
>= больше или равно
<= меньше или равно
or условие A или условие B
and условие A и условие B

Например:

{% if guest == true %}
  Добро пожаловать в наш магазин!
{% endif %}

Вы можете выполнять несколько сравнений в теге с помощью операторов and и or:

{% if category_title == "Рубашки" or category_title == "Туфли" %}
  Это рубашка или обувь.
{% endif %}

contains

contains проверяет наличие подстроки в строке.

{% if user_email contains "jkassa.com" %}
  Привет, сотрудник JKassa!
{% endif %}

contains также может проверять наличие строки в массиве строк.

{% if tag.title contains "для улицы" %}
  Этот продукт отлично подходит для использования на открытом воздухе!
{% endif %}

contains может только искать строки. Вы не можете использовать его для проверки объекта в массиве объектов.


Порядок операций

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

{% if true or false and false %}
  Это оценивается как true, так как сначала выполняется условие 'and'.
{% endif %}
{% if true and false and false or true %}
  Это оценивается как false, поскольку теги проверяются следующим образом:

  true and (false and (false or true))
  true and (false and true)
  true and false
  false
{% endif %}