Модификаторы для работы со строками
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]]
Внимание
Модификаторы для работы с пользователями нужно вызывать некэшированными, чтобы каждый юзер видел актуальные данные.