Условные модификторы в Revolution позволяют вам манипулировать способом представления или анализа данных в тегах. Так-же позволяют изменять значения внутри ваших шаблонов.
Например у нас есть сниппет MainSlide (он выводит из таблицы MySql изображения в слайдер):
[[MainSlide:toPlaceholder=`PlSliderMain`? §ion=`2` &tpl=`tpl.SliderMain`]]
Для вывода слайдера на главной странице нужно сделать простое условие с помощью модификатора MODX, данный модификатор notempty делает проверку содержится ли в плейсхолдоре строка или нет:
[[+PlSliderMain:notempty=`[[+PlSliderMain]]`]]
В данном примере мы данные положили в плейсхолдер и после делаем проверку через модификатор, так-же можно проверять поля MODX и создынные дополнительные поля:
[[*content:notempty=`[[*content]]`]]
Если у вас есть более длинный код в операторе a: then = ``: else = ``, и вы хотите сделать его более читаемым, поставив его на несколько строк, это нужно сделать следующим образом:
[[+placeholder:is=`0`:then=`
// code
`:else=`
// code
`]]
В следующей списке перечислены самые нужные условные из существующих модификаторов и приведены примеры их использования. Выходные модификаторы могут использоваться с любыми тегами MODx.
Проверка на несколько значений.
[[+slide:is=`5`:or:is=`6`:then=`В слайдере есть контент`:else=`В слайдере пусто`]]
[[+slide:is=`5`:and:is=`6`:then=`В слайдере есть контент`:else=`В слайдере пусто`]]
Если тег равен модификатору.
[[*slide:is=`5`:then=`В слайдере есть контент`]]
[[*slide:is=`5`:then=`В слайдере есть контент`:else=`В слайдере пусто`]]
Если тег не равен модификатору.
[[*id:ne=`1`:then=`Не главная страница`:else=`Главная страница`]]
Вернет, указанный модификатор, если значение не пусто.
[[*content:notempty=`[[*content]]`]]
Скрывает элемент, если условие выполняется или показывает.
[[*id:is=`1`:hide]]
Условие, если тег соответствует модификатору, выводим сообщение.
Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"
[[*id:is=`1`:then=`Выводим слайдер`:else=`Слайдер только на главной`]]