Модификаторы строки Modx Revolution
Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.
| Модификатор | Описание | Пример |
|---|---|---|
| cat | Добавляет к тегу строку. | [[+num:cat=` раз`]], выведет к примеру "10 раз". |
| lcase, lowercase, strtolower | Переведет значение тега в нижний регистр, аналогично функции php strtolower. | [[*pagetitle:lcase]] |
| ucase, uppercase, strtoupper | Переведет текст в верхний регистр, аналогично функции php strtoupper. | [[*pagetitle:ucase]] |
| ucwords | Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. | [[*pagetitle:ucwords]] |
| ucfirst | Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. | [[*pagetitle:ucfirst]] |
| htmlent, htmlentities | Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". | [[*pagetitle:htmlentities]] |
| esc,escape | Экранирует разные "плохие символы", так же экранирует [, ] и `. | [[*content:esc]] |
| strip | Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел. | [[*content:strip]] |
| stripString | Вырезает из строки заданную строку. | [[*pagetitle:stripString=`вц`]] |
| replace | Обычная замена. | [[*pagetitle:replace=`вц==конфетка`]] |
| striptags, stripTags,notags,strip_tags | Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags | [[*longtitle:strip_tags=`
`]] |
| len,length, strlen | Возвращает длину строки, аналогично функции php strlen | [[*longtitle:strlen]] |
| reverse, strrev | Переворачивает строку, аналогично функции php strrev | [[*longtitle:reverse]] |
| wordwrap | Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap | [[*pagetitle:wordwrap=`10`]] |
| limit | Устанавливает лимит на длинну строки и обрезает ее. | [[*pagetitle:limit=`10`]] |
| ellipsis | Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце | [[*pagetitle:ellipsis=`10`]] |
| tag | Вернет, запись тега. | [[*pagetitle:ellipsis=`10`:tag]]вернет: [[*pagetitle:ellipsis=`10`:tag]] |
| add, increment, incr | Вернет, значение + модификатор ( по умолчанию +1 ). | [[+num:incr]] или [[+num:add=`97`]] |
| subtract, decrement, decr | Вернет, значение - модификатор ( по умолчанию -1 ). | [[+num:decr]] или [[+num:decr=`97`]] |
| multiply, mpy | Вернет, значение * модификатор ( по умолчанию *2 ). | [[+num:mpy]] или [[+num:mpy=`5`]] |
| divide, div | Вернет, значение / модификатор ( по умолчанию /2 ). | [[+num:div]] или [[+num:div=`5`]] |
| modulus, mod | Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) | [[+num:mod]] или [[+num:mod=`5`]] |
| ifempty, default, empty, isempty | Вернет, указанный модификатор, если значение пусто. | [[*pagetitle:empty=`Пусто`]] |
| notempty, !empty, ifnotempty, isnotempty | Вернет, указанный модификатор, если значение не пусто. | [[*pagetitle:!empty=`Не пусто!`]] |
| nl2br | Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br | [[*pagetitle:nl2br]][[*pagetitle:nl2br]] |
| date | Аналогично функции PHP strftime. Значение - отформатировано. См. форматы дат. | [[+birthyear:date=`%Y`]] |
| strtotime | Аналогично функции PHP strtotime. Вернет дату. См. форматы дат. | [[*createdon:strtotime]], - вернет типа "[[*createdon:strtotime]]" |
| fuzzydate | Вернет дату. Типа вчера, сегодня.... | [[*createdon:fuzzydate]], - вернет типа "[[*createdon:fuzzydate]]" |
| ago | Вернет дату в прошедших секундах, минутах, неделях или месяцах. | [[*createdon:ago]], - вернет типа "[[*createdon:ago]]" |
| md5 | Аналогично функции php md5. | [[+password:md5]]. |
| cdata | Вставляет строку в оболочку "CDATA" тегов. | [[*pagetitle:cdata]]. |
| userinfo | Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). | [[+modx.user.id:userinfo=`username`]]. |
| isloggedin | Возвращает true, если пользователь авторизирован в этом контексте. | [[+modx.user.id:isloggedin]]. |
| isnotloggedin | Возвращает true, если пользователь не авторизирован в этом контексте. | [[+modx.user.id:isnotloggedin]]. |
| toPlaceholder | Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. | [[+number:toPlaceholder=`итого`]], помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: [[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]], если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". |
| cssToHead | Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. | [[+cssTV:cssToHead]] перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /> |
| htmlToHead | Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. | [[+htmlTV:htmlToHead ]] перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. |
| htmlToBottom | Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. | [[+htmlTV:htmlToBottom]] перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. |
| jsToHead | Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. | [[+jsTV:jsToHead]] перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script> |
| jsToBottom | Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. | [[+jsTV:jsToBottom]] перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script> |
| urlencode | Аналогично функции php urlencode. | [[+stringi:urlencode]]. |
| urldecode | Аналогично функции php urldecode. | [[+stringi:urldecode]]. |
| filterPathSegment | Аналогично механизму транслитезации заголовка (pagetitle) в урл (alias), конвертирует строку в формат ЧПУ. | [[+pagetitle:filterPathSegment]]. |
| tvLabel | Возвращает подпись к полю из возможных значений TV. | [[+myTv:tvLabel]]. Например есть TV настроенное селектом с параметрами ввода: Черный==0||Белый==1||Красный==3. Если значение myTv = 3, модификатор вернет слово Красный |
Комментарии ()