Модификаторы в ModxRevo

Модификаторы в ModxRevolution

Важно знать условия работы модификаторов, всем кто работает с Modx Revolution.


Рекомендую изучить таблицу ниже, как таблицу умножения:

















МодификаторОписаниеПример if,inputif - задает дополнительное условие
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,andor — условие «ИЛИ»
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.

Комментарии