Фильтры phx в modx revo

Опубликовано: 14 Авг 2014

Модификаторы phx значительно облегчают жизнь разработчику сайта.

В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.

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

 

Модификатор

Описание

Пример

if, input

if - задает дополнительное условие
input - добавляет в тег обратываемые данные

[ [+phx:input=`/assets/img/hui.gif`]] - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
[ [*id:is=`1`:and:if=`[ [*id]]`:ne=`2`:then=`da`:else=`net`]] - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"

or, and

or - условие "ИЛИ"
and - условие "И"

[ [*id:is=`1`:or:if=`[ [*id]]`:is=`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".

net - если id-ресурса меньше 10, выводим "da", или же "net"

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".

 

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

 

Модификатор

Описание

Пример

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 ).

 0или [ [+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

 Фильтры phx в modx revo[ [*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]].

urlencode

Аналогично функции php urlencode.

[ [+stringi:urlencode]].

urldecode

Аналогично функции php urldecode.

[ [+stringi:urldecode]].

 

Создаем свой модификатор

Модификаторы создаются, в точности как сниппеты. То есть по сути любой сниппет можно использовать в качестве модификатора. Например: [ [*id:tester=`тест`]]

Параметр

Значение

Пример

input

Значение тега

 значение тега [ [*id]]

options

Значение модификатора

"тест"

token

Тип тега

*

name

Наименование тега

id

 

Комментарии (0)


Оставить комментарий




Разрешённые теги: <b><i><br>Добавить новый комментарий: