if

    if

    Сниппет выводит информации по условию

    Как работает?

    Если при вызове if условие в параметре is выполняется, то выведется содержимое параметра then, если нет - содержимое параметра else.

    Если необходимо ничего не выводить через then или else, то можно вовсе не задавать этот параметр.

    Некэшируемый вызов

    При работы с внешними плейсхолдерами необходимо вызывать сниппет некешируемым.

    А внешний плейсхолдер это, например, из Ditto.

    Пример вызова

    // пример вызова кэшируемого...
    
    
    // и некэшируемого if
    [!if? &is=`2887:=:5` &then=`true` &else=`false`!]

    Параметры сниппета

    Параметр Описание Возможные значения По-умолчанию
    is Обрабатываемое условие что сравниваем:как сравниваем:с чем сравниваем Пусто
    then Содержимое для вывода, если условие верно @tpl:chunkname или любой html-код с тегами MODX Пусто
    else Содержимое для вывода, если условие не верно @tpl:chunkname или любой html-код с тегами MODX Пусто
    math Включает выполнение математических функций в параметре is on Пусто
    separator Разделитель в условии Например, ~ :

    Для того чтобы парсер не обрабатывал вариант и then и else, как это делает PHx, вызывайте: &then='@TPL:chunkname' — где chunkname - имя чанка.

    В этом случае будет выполнен только результирующий чанк.


    Операторы используемые в условии

    is, = - равно

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

    >, gt - больше

    <, lt - меньше

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

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

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

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

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

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

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

    contains - наличие в строке

    not_contains, !contains - отсутствие в строке


    Выполнение математических функций:

    is=`*10:=:30`

    Примеры использования

    1) Выводить акцию нужно только в каталоге с ID = 5
    
    
    2) Выводить акцию нужно только в каталоге с ID = 5 или в каталоге с шаблоном №7,8,9
    
    
    3) Выводить акцию нужно только в каталоге с ID = 5 и только в ресурсе с шаблоном №2
    
    
    4) Выводить акцию нужно только в каталоге с ID = 5 и только в ресурсе с шаблоном №2 или в других шаблонах но с ТВ show_akcia = 1
    
    
    5) Выводить акцию только для товаров с ценой в диапазоне >300$ <=700$
    
    
    6) Выводить при кратности записи Ditto 3
    
    
    
    7) Выводить при кратности записи Ditto 3 но с умножением значения
    
    
    8) Выводить значение математического выражения