Модификаторы для работы со строками
cat
Добавляет значение после тега.
[[+numbooks:cat=`книг`]]lcase, lowercase, strtolower
Переводит все буквы в нижний регистр.
[[+title:lcase]]ucase, uppercase, strtoupper
Переводит все буквы в верхний регистр.
[[+headline:ucase]]ucwords
Делает первую букву в словах заглавной.
[[+title:ucwords]]ucfirst
Делает первую букву в строке заглавной.
[[+name:ucfirst]]htmlent, htmlentities
Преобразует все символы в соответствующие HTML-сущности.
[[+email:htmlent]]esc, escape
Безопасно экранирует символы, используя регулярные выражения и str_replace(). Также экранирует теги MODX.
[[+email:escape]]strip
Заменяет все переносы, табуляции и любое количество пробелов только одним пробелом.
[[+textdocument:strip]]stripString
Вырезает из строки указанную подстроку.
[[+name:stripString=`Mr.`]]replace
Производит замену подстрок.
[[+pagetitle:replace=`Mr.==Mrs.`]]striptags, stripTags, notags, strip_tags
Вырезает все теги (можно указать разрешенные теги). Не используйте для обеспечения безопасности.
[[+code:strip_tags]]len, length, strlen
Выводит длину строки.
[[+longstring:strlen]]reverse, strrev
Переворачивает строку символ за символом.
[[+mirrortext:reverse]]wordwrap
Вставляет перенос строки после каждого n-ого символа (слова не разбиваются).
[[+bodytext:wordwrap=`80`]]wordwrapcut
Вставляет перенос строки после каждого n-ого символа, даже если этот символ будет внутри слова.
[[+bodytext:wordwrapcut=`80`]]limit
Выводит определенное количество символов с начала строки.
- По умолчанию:
100
[[+description:limit=`50`]]ellipsis
Добавляет многоточие и обрезает строку, если она длиннее, чем указанное количество символов.
- По умолчанию:
100
[[+description:ellipsis=`50`]]tag
Экранирование. Отображает элемент так как он есть, без :tag. Для использования в документации.
[[+showThis:tag]]add, increment, incr
Прибавляет указанное число.
- По умолчанию:
+1
[[+downloads:incr]] [[+blackjack:add=`21`]]subtract, decrement, decr
Вычитает указанное число.
- По умолчанию:
-1
[[+countdown:decr]] [[+moneys:subtract=`100`]]multiply, mpy
Умножает на указанное число.
- По умолчанию:
*2
[[+trifecta:mpy=`3`]]divide,div
Делит на указанное число.
- По умолчанию:
/2
[[+rating:div=`4`]]modulus,mod
Возвращает модуль числа.
- По умолчанию:
%2 - Возвращает:
0 | 1
[[+number:mod]]ifempty,default,empty, isempty
Возвращает значение модификатора, если значение тега пусто.
[[+name:default=`anonymous`]]notempty, !empty, ifnotempty, isnotempty
Возвращает значение модификатора, если значение тега не пусто.
[[+name:notempty=`Hello [[+name]]!`]]nl2br
Заменяет символы новой строки \n на HTML-тег br.
[[+textfile:nl2br]]date
Переводит таймстамп в текст, в соответствии с указанным форматом (формат даты).
[[+birthyear:date=`%Y`]]strtotime
Переводит дату в виде текста в UNIX таймстамп.
[[+thetime:strtotime]]fuzzydate
Принимает таймстамп и возвращает дату в виде "Сегодня в 16:20 PM".
[[+createdon:fuzzydate]]ago
Возвращает число секунд, минут, недель или месяцев, прошедших с даты, указанной в теге.
[[+createdon:ago]]md5
Создает MD5-хеш значения.
[[+password:md5]]cdata
Оборачивает вывод тегами CDATA.
[[+content:cdata]]userinfo
Возвращает запрашиваемое значение из профиля пользователя. Необходимо указывать ID пользователя.
[[!+modx.user.id:userinfo=`username`]]Подробнее о данном модификаторе можно узнать по ссылке.
isloggedin
Возвращает 1, если пользователь авторизован в текущем контексте.
[[!+modx.user.id:isloggedin:is=`1`:then=`Yes`:else=`No`]]isnotloggedin
Возвращает 1, если пользователь неавторизован в текущем контексте.
[[!+modx.user.id:isnotloggedin:is=`1`:then=`No`:else=`Yes`]]urlencode
Конвертирует значение как URL, то есть применяет PHP функцию urlencode().
[[+mystring:urlencode]]urldecode
Конвертирует значение как из URL, то есть применяет PHP функцию urldecode().
[[+myparam:urldecode]]Внимание
Модификаторы для работы с пользователями нужно вызывать некэшированными, чтобы каждый юзер видел актуальные данные.