Модификаторы в ModxRevolution
Важно знать условия работы модификаторов, всем кто работает с Modx Revolution.
Рекомендую изучить таблицу ниже, как таблицу умножения:
Модификатор | Описание | Пример |
---|---|---|
if,input | if - задает дополнительное условие input - добавляет в тег обратываемые данные |
[[+phx:input=`/assets/img/hui.gif`]] - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение. Или [[+phx:input=`/assets/img/hui.gif`:contains=`hui.gif`:then=`da`:else=`net`]] проверить есть ли в пути определенная последовательность символов. [[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]] - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" |
or,and | or - условие "ИЛИ" and - условие "И" |
[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]] - если id-ресурса = 1 или = 2, выводим "da", или же "net". [[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]] - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" |
isequalto, isequal, equalto, equals, is, eq | Если тег равен модификатору, используется с "then" и "else." | [[*id:is=`1`:then=`da`:else=`net`]] - если id-ресурса = 1, выводим "da", или же "net" |
notequalto, notequals, isnt, isnot, neq, ne | Если тег не равен модификатору, используется с "then" и "else". | [[*id:ne=`1`:then=`da`:else=`net`]] - если id-ресурса не равно 1, выводим "da", или же "net" |
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte | Если тег больше или равен модификатору, используется с "then" и "else". | [[*id:ge=`1`:then=`da`:else=`net`]] - если id-ресурса больше или равен 1, выводим "da", или же "net" |
isgreaterthan, greaterthan, isgt, gt | Если тег больше модификатора, используется с "then" и "else". | [[*id:gt=`1`:then=`da`:else=`net`]] - если id-ресурса больше 1, выводим "da", или же "net" |
equaltoorlessthan, lessthanorequalto, el, le, islte, lte | Если тег меньше или равен модификатору, используется с "then" и "else". | [[*id:el=`10`:then=`da`:else=`net`]] - если id-ресурса меньше или равно 10, выводим "da", или же "net" |
islowerthan, islessthan, lowerthan, lessthan, islt, lt | Если тег меньше модификатора, используется с "then" и "else". | [[*id:lt=`10`:then=`da`:else=`net`]] - если id-ресурса меньше 10, выводим "da", или же "net" |
contains | Если тег содержит модификатор, используется с "then" и "else". | [[+author:contains=`Сэ́мюэл Кле́менс`:then=`Марк Твен`]] - если в теге содержится фраза "Сэ́мюэл Кле́менс" выводим "Марк Твен" |
containsnot | Если тег не содержит модификатор, используется с "then" и "else". | [[+author:containsnot=`Сэ́мюэл Кле́менс`:then=`Кто-нибудь еще`]] - если в теге не содержится фраза "Сэ́мюэл Кле́менс" выводим "Кто-нибудь еще" |
hide | Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. | [[*id:is=`10`:hide]] - если id-ресурса = 10, ничего не выводим |
show | Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. | [[*id:is=`10`:show]] - если id-ресурса = 10, выводим. |
then | Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим | [[*id:is=`10`:then=`ept`]] - если id-ресурса = 10, выводим "ept". |
else | Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" | [[*id:is=`10`:then=`ept`:else=`nooo`]] - если id-ресурса = 10, выводим "ept" иначе "nooo". |
select | Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select | [[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]] - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". |
in | Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else | [[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]] - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. |