if
Документация
Перейти

Параметры

Формат: что сравниваем:как сравниваем:с чем сравниваем
Значение по умолчанию: нет
Примечание:
Пример:
&is=`[*parent*]:=:5`
Формат: @tpl:chunkname или любой html-код с тегами MODX
Значение по умолчанию: нет
Примечание:
Пример:
&then=`@TPL:akcia`
Формат: @tpl:chunkname или любой html-код с тегами MODX
Значение по умолчанию: нет
Примечание:
Пример:
&else=`@TPL:akcia`
Формат: on
Значение по умолчанию: нет
Примечание:
Пример:
&math=`on`
Формат:
Значение по умолчанию: :
Примечание:
Пример:
&separator=`~`

Операторы

is, = - равно

not, != - не равно

>, gt - больше

<, lt - меньше

>=, gte - больше или равно

lte, <= - меньше или равно

isempty, empty - проверка на пустоту

not_empty, !empty - проверка на заполненность

null, is_null - проверка, является ли значение переменной равным NULL

in_array, inarray, in - наличие в массиве

not_in, !in - отсутствие в массиве

Примеры

Для работы с внешними плейсхолдерами (например: [+pages+] в Ditto) — вызывайте сниппет некешируемым: [!if? &is… !]

1) Выводить акцию нужно только в каталоге с ID = 5

[[if? &is=`[*parent*]:=:5` &then=`@TPL:akcia`]]

2) Выводить акцию нужно только в каталоге с ID = 5 или в каталоге с шаблоном №7,8,9

[[if? &is=`[*parent*]:=:5:or:[*template*]:in:7,8,9` &then=`@TPL:akcia`]]

3) Выводить акцию нужно только в каталоге с ID = 5 и только в ресурсе с шаблоном №2

[[if? &is=`[*parent*]:=:5:and:[*template*]:=:2` &then=`@TPL:akcia`]]

4) Выводить акцию нужно только в каталоге с ID = 5 и только в ресурсе с шаблоном №2 или в других шаблонах но с ТВ show_akcia = 1

[[if? &is=`[*parent*]:=:5:and:[*template*]:=:2:or:[*show_akcia*]:=1` &then=`@TPL:akcia`]]

5) Выводить акцию только для товаров с ценой в диапазоне >300$ <=700$

[[if? &is=`[*price*]:>:300:and:[*price*]:<=:700` &then=`@TPL:akcia`]]

6) Выводить при кратности записи Ditto 3

[[if? &is=`[+ditto_iteration+]+1:%:3` &then=`true` &else=`false` &math=`on`]]
[[if? &is=`[+ditto_index+]+1:%:3` &then=`true` &else=`false`]]

7) Выводить при кратности записи Ditto 3 но с умножением значения

[[if? &is=`[+ditto_iteration+]*2:%:3` &then=`true` &else=`false` &math=`on`]]

8) Выводить значение математического выражения

[[if? &is=`[+ditto_iteration+]*2` &math=`on`]]

Логика работы: Если условие is выполняется, то выводим содержимое параметра then, если не выполняется, то выводим содержимое параметра else.

Поделитесь ссылкой

Статистика

Яндекс цитирования
© 2011 - 2023 Школа MODX
Напишите нам в Telegram