MODX REVO фильтры ввода вывода

20.12.2019 | Андрей
MODX REVO фильтры ввода вывода

Что такое фильтры?

Фильтры в Revolution позволяют управлять способом представления или анализа данных в теге. Они позволяют вам изменять значения внутри ваших шаблонов.

Входной фильтр

Выходной фильтр

В Revolution фильтр вывода применяет один или несколько серий выходных модификаторов, которые ведут себя аналогично вызовам PHx в MODX Evolution - за исключением того, что они встроены в ядро. Синтаксис выглядит так:

[[element:modifier=`value`]]

Они также могут быть прикованы цепью (выполнено слева направо):

[[element:modifier:anothermodifier=`value`:andanothermodifier:yetanother=`value2`]]

Вы также можете использовать их для изменения вывода сниппеты. Обратите внимание, что модификатор идет после имени сниппета и перед знаком вопроса, например:

[[mySnippet:modifier=`value`? &mySnippetParam=`something`]]

Если у вас есть более длинный код :then=:else= оператор, и вы хотите сделать его более читабельным, поместив его в несколько строк, это должно быть сделано так:

[[+placeholder:is=`0`:then=`
 // code
`:else=`
 // code
`]]

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

В следующей таблице перечислены некоторые из существующих модификаторов и приведены примеры их использования. Хотя приведенные ниже примеры являются тегами-плейсхолдеров, выходные модификаторы можно использовать с любым тегом MODX. Убедитесь, что используемый заполнитель действительно получает данные.

Условные модификаторы вывода

Модификатор Описание Пример
if, input if, input -
or Может использоваться для вывода выходных модификаторов вместе с отношением «OR». Не уверен, сколько книг
and Может использоваться для вывода выходных модификаторов вместе с отношением «AND».
isequalto, isequal, equalto, equals, is, eq Сравнивает с переданным значением и продолжает, если оно такое же. Используется с "then" и "else" Не уверен, сколько книг
notequalto, notequals, isnt, isnot, neq, ne Сравнивает с переданным значением и перемещается, если оно не совпадает. Используется с "then" и "else" Не уверен, сколько книг
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Сравнивает с переданным значением и продолжает, если оно больше или равно значению. Используется с "then" и "else". Есть менее 5 книг
isgreaterthan, greaterthan, isgt, gt Сравнивает с переданным значением и продолжает, если оно больше, чем значение. Используется с "then" и "else". Есть менее 5 книг
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Сравнивает с переданным значением и продолжает, если оно меньше или равно значению. Используется с "then" и "else". Есть 5 или менее 5 книг
islowerthan, islessthan, lowerthan, lessthan, islt, lt Сравнивает с переданным значением и продолжает, если оно меньше значения. Используется с "then" и "else". Есть менее 5 книг
contains Проверяет, содержит ли значение переданную строку.
containsnot Проверьте, не содержит ли значение переданную строку. Somebody Else
in, IN, inarray, inArray Проверьте, находится ли значение в массиве (через запятую)
hide Проверяет более ранние условия и скрывает элемент, если условия были выполнены.
show Проверит более ранние условия и покажет элемент, если условия были выполнены.
then Условное использование.
else Условное использование вместе с потом. Sorry, currently sold out.
select Выведите замену, если значение находится в списке значений перед знаком равенства. В противном случае результат будет пустым.
memberof, ismember, mo Проверяет, является ли пользователь членом указанной группы (групп). 0

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

Модификатор Описание Пример
cat Добавляет значение параметра (если оно не пустое) к входному значению books
after, append Добавляет значение параметров к входному значению (если оба не пустые). Добавлен в 2.6.0.
before, prepend Добавляет значение параметров к входному значению (если оба не пустые). Добавлен в 2.6.0.
lcase, lowercase, strtolower Преобразует строки в нижний регистр. Похож на PHP strtolower
ucase, uppercase, strtoupper Преобразует строки в верхний регистр. Похож на PHP strtoupper
ucwords Преобразует первую букву слова в верхний регистр. Похож на PHP ucwords
ucfirst Преобразует первую букву строки в верхний регистр. Похож на PHP ucfirst
htmlent, htmlentities Замените любой символ, имеющий HTML-сущность, этой сущностью. Похож на PHP htmlentities. Uses the current value the system setting modx_charset with flag ENT_QUOTES
esc,escape Безопасно экранирует значения символов, используя регулярные выражения и str_replace. Также убирает [, ] и
strip Заменить все разрывы строк, табуляции и несколько пробелов одним пробелом
stripString Удаляет строку указанного значения
stripmodxtags Удаляет теги MODX из ввода. (Добавлено в v2.7)
replace Заменяет одно значение другим
striptags, stripTags,notags,strip_tags Удаляет HTML-теги из ввода. Опционально принимает значение, чтобы указать, какие теги разрешить. Похож на PHP strip_tags
len,length, strlen Подсчитывает длину пропущенной строки. Похож на PHP strlen 0
reverse, strrev Обращает ввод, символ за символом. Похож на PHP strrev
wordwrap Вставка символа новой строки после установленного количества символов. Похож на PHP wordwrap. Takes optional value to set wordwrap position.
wordwrapcut Вставляет символ новой строки после заданного количества символов, независимо от границ слова. Похож на PHP wordwrap, с включенным сокращением слова. Принимает необязательное значение для установки положения переноса слов.
limit Ограничивает строку определенным количеством символов. По умолчанию 100.
ellipsis Добавляет многоточие и усекает строку, если она длиннее определенного количества символов. В качестве контрольных точек используются только пробелы. По умолчанию 100.
tag Отображает необработанный элемент без :tag. Полезно для документации. [[+showThis]]
tvLabel Отображает метку с телевизора, полезную при использовании выбора или флажки и т.д., Где вы используете Label==1||Otherlabel==2||More options==3 если значение 2 вернет Otherlabel.
math Возвращает результат расширенного расчета (Не рекомендуется) Удалено в Revolution 2.2.6. 21
add,increment,incr Возвращает входные данные, увеличенные на параметр (по умолчанию: +1) 1
subtract,decrement,decr Возвращает входные данные, уменьшенные на параметр (по умолчанию: -1) -1 -1
multiply,mpy Возвращает входные данные, умноженные на параметр (по умолчанию: *2) 0