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

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
/assets/img/wow.gif</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или da</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
net</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

net</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." net</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". da</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". net</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". </fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". Кто-нибудь еще</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. 29</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. </fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим </fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" nooo</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение - не подходит под шаблон select </fixedpre ></b > - если тег - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else пробел</fixedpre ></b > - если тег 9 (текущий шаблон) - равен "3" или "4", значит выводим , если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. раз</fixedpre ></b >, выведет к примеру "10 раз".
lcase, lowercase, strtolower Переведет значение тега в нижний регистр, аналогично функции php strtolower. модификаторы в modx revolution
ucase, uppercase, strtoupper Переведет текст в верхний регистр, аналогично функции php strtoupper. МОДИФИКАТОРЫ В MODX REVOLUTION
ucwords Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php ucwords. Модификаторы В Modx Revolution
ucfirst Переведет только первую букву строки в верхний регистр, аналогично функции php ucfirst. Модификаторы в MODx Revolution
htmlent, htmlentities Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php htmlentities. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES". Модификаторы в MODx Revolution</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. <p>В следующих таблицах перечислены некоторые модификаторы, которые могут быть использованы для любого тега MODx Revolution.</p> <p>Фильтры в Revolution позволяют манипулировать тем, как будут обрабатываться те или иные теги. Они позволяют вам изменять значения прямо внутри ваших шаблонов.</p> <p><strong>Модификаторы условия</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 20%;">Модификатор</th> <th style="width: 30%;">Описание</th> <th style="width: 50%;">Пример</th> </tr> <tr> <td data-label="Модификатор">if,input</td> <td data-label="Описание"><strong>if</strong> - задает дополнительное условие<br><strong>input</strong> - добавляет в тег обратываемые данные</td> <td data-label="Пример"><strong>[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.<br>Или <strong>[[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></strong></td> </tr> <tr> <td data-label="Модификатор">or,and</td> <td data-label="Описание">or - условие "ИЛИ"<br>and - условие "И"</td> <td data-label="Пример"><strong>[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".<br><br><strong>[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net" </strong></strong></td> </tr> <tr> <td data-label="Модификатор">isequalto, isequal, equalto, equals, <strong>is</strong>, eq</td> <td data-label="Описание">Если тег равен модификатору, используется с "then" и "else."</td> <td data-label="Пример"><strong>[[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">notequalto, notequals, isnt, isnot, neq, <strong>ne</strong></td> <td data-label="Описание">Если тег не равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">greaterthanorequalto, equalorgreaterthen, <strong>ge</strong>, eg, isgte, gte</td> <td data-label="Описание">Если тег больше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">isgreaterthan, greaterthan, isgt, <strong>gt</strong></td> <td data-label="Описание">Если тег больше модификатора, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">equaltoorlessthan, lessthanorequalto, <strong>el</strong>, le, islte, lte</td> <td data-label="Описание">Если тег меньше или равен модификатору, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net" </strong></td> </tr> <tr> <td data-label="Модификатор">islowerthan, islessthan, lowerthan, lessthan, islt, <strong>lt</strong></td> <td data-label="Описание">Если тег меньше модификатора, используется с "then" и "else".</td> <td><strong>[[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">contains</td> <td data-label="Описание">Если тег содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен" </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">containsnot</td> <td data-label="Описание">Если тег не содержит модификатор, используется с "then" и "else".</td> <td data-label="Пример"><strong>[[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще" </strong></td> </tr> <tr> <td data-label="Модификатор">hide</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим </strong></td> </tr> <tr> <td data-label="Модификатор">show</td> <td data-label="Описание">Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег.</td> <td data-label="Пример"><strong>[[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим. </strong></td> </tr> <tr> <td data-label="Модификатор">then</td> <td data-label="Описание">Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!". </strong></td> </tr> <tr> <td data-label="Модификатор">else</td> <td data-label="Описание">Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then"</td> <td data-label="Пример"><strong>[[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">select</td> <td data-label="Описание">Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select</td> <td data-label="Пример"><strong>[[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка". </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">in</td> <td data-label="Описание">Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else</td> <td data-label="Пример"><strong>[[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор строки</strong></p> <div class="table-responsive"> <table class="table table-hover"> <tbody> <tr class="header"> <th style="width: 100px;">Модификатор</th> <th style="width: 350px;">Описание</th> <th>Пример</th> </tr> <tr> <td data-label="Модификатор">cat</td> <td data-label="Описание">Добавляет к тегу строку.</td> <td data-label="Пример"><strong>[[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "10 раз". </strong></td> </tr> <tr> <td data-label="Модификатор">lcase, lowercase, strtolower</td> <td data-label="Описание">Переведет значение тега в нижний регистр, аналогично функции php <strong>strtolower</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:lcase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucase, uppercase, strtoupper</td> <td data-label="Описание">Переведет текст в верхний регистр, аналогично функции php <strong>strtoupper</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucase]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucwords</td> <td data-label="Описание">Переведет каждую первую букву, каждого слова в верхний регистр, аналогично функции php <strong>ucwords</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucwords]]</strong></td> </tr> <tr> <td data-label="Модификатор">ucfirst</td> <td data-label="Описание">Переведет только первую букву строки в верхний регистр, аналогично функции php <strong>ucfirst</strong>.</td> <td data-label="Пример"><strong>[[*pagetitle:ucfirst]]</strong></td> </tr> <tr> <td data-label="Модификатор">htmlent, htmlentities</td> <td data-label="Описание">Преобразует все символы в соответствющие HTML сущности (для тех символов, для которых HTML сущности существуют), аналогично функции php <strong>htmlentities</strong>. Использует текущие настройки системы "modx_charset" с флагом "ENT_QUOTES".</td> <td data-label="Пример"><strong>[[*pagetitle:htmlentities]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">esc,escape</td> <td data-label="Описание">Экранирует разные "плохие символы", так же экранирует <strong>[</strong>, <strong>]</strong> и <strong>`</strong>.</td> <td data-label="Пример"><strong>[[*content:esc]]</strong></td> </tr> <tr> <td data-label="Модификатор">strip</td> <td data-label="Описание">Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.</td> <td data-label="Пример"><strong>[[*content:strip]]</strong></td> </tr> <tr> <td data-label="Модификатор">stripString</td> <td data-label="Описание">Вырезает из строки заданную строку.</td> <td data-label="Пример"><strong>[[*pagetitle:stripString=`вц`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">replace</td> <td data-label="Описание">Обычная замена.</td> <td data-label="Пример"><strong>[[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">striptags, stripTags,notags,strip_tags</td> <td data-label="Описание">Вырезает все теги, кроме разрешенных, аналогично функции php <strong>strip_tags</strong></td> <td data-label="Пример"><strong>[[*longtitle:strip_tags=`</strong> <p><strong>`]]</strong></p> </td> </tr> <tr> <td data-label="Модификатор">len,length, strlen</td> <td data-label="Описание">Возвращает длину строки, аналогично функции php <strong>strlen</strong></td> <td data-label="Пример"><strong>[[*longtitle:strlen]]</strong></td> </tr> <tr> <td data-label="Модификатор">reverse, strrev</td> <td data-label="Описание">Переворачивает строку, аналогично функции php <strong>strrev</strong></td> <td data-label="Пример"><strong>[[*longtitle:reverse]]</strong></td> </tr> <tr> <td data-label="Модификатор">wordwrap</td> <td data-label="Описание">Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php <strong>wordwrap</strong></td> <td data-label="Пример"><strong>[[*pagetitle:wordwrap=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">limit</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее.</td> <td data-label="Пример"><strong>[[*pagetitle:limit=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ellipsis</td> <td data-label="Описание">Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">tag</td> <td data-label="Описание">Вернет, запись тега.</td> <td data-label="Пример"><strong>[[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]] </strong></td> </tr> <tr> <td data-label="Модификатор"><strong>add</strong>, increment, incr</td> <td data-label="Описание">Вернет, значение <strong>+</strong> модификатор ( по умолчанию +1 ).</td> <td data-label="Пример"><strong>[[+num:incr]]</strong> или <strong>[[+num:add=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">subtract, decrement, <strong>decr</strong></td> <td data-label="Описание">Вернет, значение <strong>-</strong> модификатор ( по умолчанию -1 ).</td> <td data-label="Пример"><strong>[[+num:decr]]</strong> или <strong>[[+num:decr=`97`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">multiply, <strong>mpy</strong></td> <td data-label="Описание">Вернет, значение <strong>*</strong> модификатор ( по умолчанию *2 ).</td> <td data-label="Пример"><strong>[[+num:mpy]]</strong> или <strong>[[+num:mpy=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">divide, <strong>div</strong></td> <td data-label="Описание">Вернет, значение <strong>/</strong> модификатор ( по умолчанию /2 ).</td> <td data-label="Пример"><strong>[[+num:div]]</strong> или <strong>[[+num:div=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">modulus, mod</td> <td data-label="Описание">Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. )</td> <td data-label="Пример"><strong>[[+num:mod]]</strong> или <strong>[[+num:mod=`5`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">ifempty, default, <strong>empty</strong>, isempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:empty=`Пусто`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">notempty, <strong>!empty</strong>, ifnotempty, isnotempty</td> <td data-label="Описание">Вернет, указанный модификатор, если значение не пусто.</td> <td data-label="Пример"><strong>[[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">nl2br</td> <td data-label="Описание">Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php <strong>nl2br</strong></td> <td data-label="Пример"><strong>[[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]] </strong></td> </tr> <tr> <td data-label="Модификатор">date</td> <td data-label="Описание">Аналогично функции PHP <strong>strftime</strong>. Значение - отформатировано.</td> <td data-label="Пример"><strong>[[+birthyear:date=`%Y`]]</fixedpre ></b > </strong></td> </tr> <tr> <td data-label="Модификатор">strtotime</td> <td data-label="Описание">Аналогично функции PHP <strong>strtotime</strong>. Вернет дату.</td> <td data-label="Пример"><strong>[[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]" </strong></td> </tr> <tr> <td data-label="Модификатор">fuzzydate</td> <td data-label="Описание">Вернет дату. Типа вчера, сегодня....</td> <td data-label="Пример"><strong>[[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]" </strong></td> </tr> <tr> <td data-label="Модификатор">ago</td> <td data-label="Описание">Вернет дату в прошедших секундах, минутах, неделях или месяцах.</td> <td data-label="Пример"><strong>[[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]" </strong></td> </tr> <tr> <td data-label="Модификатор">md5</td> <td data-label="Описание">Аналогично функции php <strong>md5</strong>.</td> <td data-label="Пример"><strong>[[+password:md5]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">cdata</td> <td data-label="Описание">Вставляет строку в оболочку "CDATA" тегов.</td> <td data-label="Пример"><strong>[[*pagetitle:cdata]]</b >. </strong></td> </tr> <tr> <td data-label="Модификатор">userinfo</td> <td data-label="Описание">Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ).</td> <td data-label="Пример"><strong>[[+modx.user.id:userinfo=`username`]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr> <td data-label="Модификатор">isnotloggedin</td> <td data-label="Описание">Возвращает <strong>true</strong>, если пользователь не авторизирован в этом контексте.</td> <td data-label="Пример"><strong>[[+modx.user.id:isnotloggedin]]</fixedpre ></b >. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">toPlaceholder</td> <td data-label="Описание">Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы.</td> <td data-label="Пример"><strong>[[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: <strong>[[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+number]] = 10, тогда выводим в плейсхолдер [[+итого]]: "ровно 10", если же нет "точно не 10!". </strong></strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">cssToHead</td> <td data-label="Описание">Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS.</td> <td data-label="Пример"><strong>[[+cssTV:cssToHead]]</strong> перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" /></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToHead</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToHead ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">htmlToBottom</td> <td data-label="Описание">Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock.</td> <td data-label="Пример"><strong>[[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега [[+htmlTV]] в HTML код. </strong></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToHead</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToHead]]</strong> перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr class="o-table--warning"> <td data-label="Модификатор">jsToBottom</td> <td data-label="Описание">Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript.</td> <td data-label="Пример"><strong>[[+jsTV:jsToBottom]]</strong> перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script></td> </tr> <tr> <td data-label="Модификатор">urldecode</td> <td data-label="Описание">Аналогично функции php <strong>urldecode</strong>.</td> <td data-label="Пример"><strong>[[+stringi:urldecode]]</b >. </strong></td> </tr> </tbody> </table> </div> <p><strong>Модификатор UserInfo</strong></p> <p>Прямой доступ к данным из таблицы <em>modx_user_attributes</em> в базе данных, с помощью модификаторов вывода вместо сниппетов, может быть достигнуто просто за счет использования модификатора UserInfo. Выберите нужный столбец из таблицы и укажите его в качестве свойства модификатора, например, так:</p> <div class="table-responsive"> <table class="table table-hover"> <thead> <tr> <th>Поле профиля</th> <th>Пример</th> </tr> </thead> <tbody> <tr> <td>Внутренний ключ профиля</td> <td><code>[[!+modx.user.id:userinfo=`internalKey`]]</code > </code></td> </tr> <tr> <td>Логин</td> <td><code>[[!+modx.user.id:userinfo=`username`]]</code > </code></td> </tr> <tr> <td>Полное имя</td> <td><code>[[!+modx.user.id:userinfo=`fullname`]]</code > </code></td> </tr> <tr> <td>Роль</td> <td><code>[[!+modx.user.id:userinfo=`role`]]</code > </code></td> </tr> <tr> <td>E-mail</td> <td><code>[[!+modx.user.id:userinfo=`email`]]</code > </code></td> </tr> <tr> <td>Телефон</td> <td><code>[[!+modx.user.id:userinfo=`phone`]]</code > </code></td> </tr> <tr> <td>Мобильный телефон</td> <td><code>[[!+modx.user.id:userinfo=`mobilephone`]]</code > </code></td> </tr> <tr> <td>Факс</td> <td><code>[[!+modx.user.id:userinfo=`fax`]]</code > </code></td> </tr> <tr> <td>Дата рождения</td> <td><code>[[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Пол</td> <td><code>[[!+modx.user.id:userinfo=`gender`]]</code > </code></td> </tr> <tr> <td>Страна</td> <td><code>[[!+modx.user.id:userinfo=`country`]]</code > </code></td> </tr> <tr> <td>Область</td> <td><code>[[!+modx.user.id:userinfo=`state`]]</code > </code></td> </tr> <tr> <td>Почтовый индекс</td> <td><code>[[!+modx.user.id:userinfo=`zip`]]</code > </code></td> </tr> <tr> <td>Фото</td> <td><code>[[!+modx.user.id:userinfo=`photo`]]</code > </code></td> </tr> <tr> <td>Комментарий</td> <td><code>[[!+modx.user.id:userinfo=`comment`]]</code > </code></td> </tr> <tr> <td>Пароль</td> <td><code>[[!+modx.user.id:userinfo=`password`]]</code > </code></td> </tr> <tr> <td>Временный пароль</td> <td><code>[[!+modx.user.id:userinfo=`cachepwd`]]</code > </code></td> </tr> <tr> <td>Последняя авторизация</td> <td><code>[[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Дата текущей авторизации</td> <td><code>[[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code > </code></td> </tr> <tr> <td>Количество авторизаций</td> <td><code>[[!+modx.user.id:userinfo=`logincount`]]</code > </code></td> </tr> </tbody> </table> </div> <p><code>[[!+modx.user.id]]</code> возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на <code>[[*createdby]]</code> или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.</p> <p>Обратите внимание, что профиль <strong>текущего</strong> пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:</p> <ul> <li><code>[[!+modx.user.id]]</code> - Выведет идентификатор пользователя</li> <li><code>[[!+modx.user.username]]</code> - Выведет логин пользователя</li> <li><code>[[!+modx.user.fullname]]</code> - Полное имя пользователя</li> <li><code>[[!+modx.user.dob]]</code> - Дата рождения</li> </ul> <p><em>Фильтр <strong>userinfo</strong> нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em > </em></p>
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел.

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

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

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

Модификатор Описание Пример
if,input if - задает дополнительное условие
input - добавляет в тег обратываемые данные
[[+phx:input=`/assets/img/wow.gif`]]</fixedpre ></b > - добавляем в тег phx входное значение, следующим модификатором, например, можно обработать изображение.
Или [[+phx:input=`/assets/img/wow.gif`:contains=`wow.gif` :then=`da`:else=`net`]]</fixedpre ></b > проверить есть ли в пути определенная последовательность символов.

[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
or,and or - условие "ИЛИ"
and - условие "И"
[[*id:is=`1`:or:if=`[[*id]]`:is=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 или = 2, выводим "da", или же "net".

[[*id:is=`1`:and:if=`[[*id]]`:ne=`2`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1 и не равно 2, выводим "da", или же "net"
isequalto, isequal, equalto, equals, is, eq Если тег равен модификатору, используется с "then" и "else." [[*id:is=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса = 1, выводим "da", или же "net"
notequalto, notequals, isnt, isnot, neq, ne Если тег не равен модификатору, используется с "then" и "else". [[*id:ne=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса не равно 1, выводим "da", или же "net"
greaterthanorequalto, equalorgreaterthen, ge, eg, isgte, gte Если тег больше или равен модификатору, используется с "then" и "else". [[*id:ge=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше или равен 1, выводим "da", или же "net"
isgreaterthan, greaterthan, isgt, gt Если тег больше модификатора, используется с "then" и "else". [[*id:gt=`1`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса больше 1, выводим "da", или же "net"
equaltoorlessthan, lessthanorequalto, el, le, islte, lte Если тег меньше или равен модификатору, используется с "then" и "else". [[*id:el=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше или равно 10, выводим "da", или же "net"
islowerthan, islessthan, lowerthan, lessthan, islt, lt Если тег меньше модификатора, используется с "then" и "else". [[*id:lt=`10`:then=`da`:else=`net`]]</fixedpre ></b > - если id-ресурса меньше 10, выводим "da", или же "net"
contains Если тег содержит модификатор, используется с "then" и "else". [[+author:contains=`Сэ?мюэл Кле?менс`:then=`Марк Твен`]]</fixedpre ></b > - если в теге содержится фраза "Сэ?мюэл Кле?менс" выводим "Марк Твен"
containsnot Если тег не содержит модификатор, используется с "then" и "else". [[+author:containsnot=`Сэ?мюэл Кле?менс`:then=`Кто-нибудь еще`]]</fixedpre ></b > - если в теге не содержится фраза "Сэ?мюэл Кле?менс" выводим "Кто-нибудь еще"
hide Если предыдущий модификатор возвращает положительное значение ("then"), то не выводим обработанный тег. [[*id:is=`10`:hide]]</fixedpre ></b > - если id-ресурса = 10, ничего не выводим
show Если предыдущий модификатор возвращает положительное значение ("then"), то выводим обработанный тег. [[*id:is=`10`:show]]</fixedpre ></b > - если id-ресурса = 10, выводим.
then Условие, если тег соответствует модификатору, выводим сообщение, иначе ничего не выводим [[*id:is=`10`:then=`Yes!`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!".
else Условие, если тег не соответствует модификатору, выводим сообщение. Используется только в связке с "then" [[*id:is=`10`:then=`Yes!`:else=`nooo`]]</fixedpre ></b > - если id-ресурса = 10, выводим "Yes!" иначе "nooo".
select Установить свое значение, в зависимости от модификатора и вывода тега. Так же можно использовать "else", например если значение [[+controls]] - не подходит под шаблон select [[+controls:select=`0=ВЫКЛ&1=ВКЛ&2=ХЗ`:else=`Ошибка`]]</fixedpre ></b > - если тег [[+controls]] - выводит "0", значит выводим "ВЫКЛ", если тот же тег равен "1" выводим "ВКЛ", если "2" выводим "ХЗ", если тег не подходит нашей выборке, то выводим "Ошибка".
in Работает аналогично php in_array, если тег совпадет с одним из элементов модификатора (разделяются они запятыми), то выводим then, если не совпало else [[*template:in=`3,4`:then=`[[$myChank]]`:else=`пробел`]]</fixedpre ></b > - если тег [[*template]] (текущий шаблон) - равен "3" или "4", значит выводим [[$myChank]], если не равен, выводим else.

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

Модификатор Описание Пример
cat Добавляет к тегу строку. [[+num:cat=` раз`]]</fixedpre ></b >, выведет к примеру "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]]</fixedpre ></b >
esc,escape Экранирует разные "плохие символы", так же экранирует [, ] и `. [[*content:esc]]
strip Заменяет все переносы строк, табуляции и множественные пробелы с на один пробел. [[*content:strip]]
stripString Вырезает из строки заданную строку. [[*pagetitle:stripString=`вц`]]</fixedpre ></b >
replace Обычная замена. [[*pagetitle:replace=`вц==конфетка`]]</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen [[*longtitle:strlen]]
reverse, strrev Переворачивает строку, аналогично функции php strrev [[*longtitle:reverse]]
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap [[*pagetitle:wordwrap=`10`]]</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. [[*pagetitle:limit=`10`]]</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`:tag]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`:tag]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). [[+num:incr]] или [[+num:add=`97`]]</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). [[+num:decr]] или [[+num:decr=`97`]]</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). [[+num:mpy]] или [[+num:mpy=`5`]]</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). [[+num:div]] или [[+num:div=`5`]]</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) [[+num:mod]] или [[+num:mod=`5`]]</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. [[*pagetitle:empty=`Пусто`]]</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. [[*pagetitle:!empty=`Не пусто!`]]</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br [[*pagetitle:nl2br]]</b >[[*pagetitle:nl2br]]
date Аналогично функции PHP strftime. Значение - отформатировано. [[+birthyear:date=`%Y`]]</fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. [[*createdon:strtotime]]</fixedpre ></b >, - вернет типа "[[*createdon:strtotime]]"
fuzzydate Вернет дату. Типа вчера, сегодня.... [[*createdon:fuzzydate]]</fixedpre ></b >, - вернет типа "[[*createdon:fuzzydate]]"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. [[*createdon:ago]]</b >, - вернет типа "[[*createdon:ago]]"
md5 Аналогично функции php md5. [[+password:md5]]</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. [[*pagetitle:cdata]]</b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). [[+modx.user.id:userinfo=`username`]]</fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. [[+modx.user.id:isloggedin]]</fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. [[+modx.user.id:isnotloggedin]]</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. [[+number:toPlaceholder=`итого`]]</fixedpre ></b >, помещает содержимое [[+number]] в плейсхолдер [[+итого]]. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: [[+number:is=`10`:then=`ровно 10`:else=`точно не 10!`:toPlaceholder=`итого`]]</fixedpre ></b >, если [[+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 ]]</b > перед закрывающим тегом </head>, регистрирует значение тега [[+htmlTV]] в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. [[+htmlTV:htmlToBottom]]</fixedpre ></b > перед закрывающим тегом </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>
urldecode Аналогично функции php urldecode. [[+stringi:urldecode]]</b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля [[!+modx.user.id:userinfo=`internalKey`]]</code >
Логин [[!+modx.user.id:userinfo=`username`]]</code >
Полное имя [[!+modx.user.id:userinfo=`fullname`]]</code >
Роль [[!+modx.user.id:userinfo=`role`]]</code >
E-mail [[!+modx.user.id:userinfo=`email`]]</code >
Телефон [[!+modx.user.id:userinfo=`phone`]]</code >
Мобильный телефон [[!+modx.user.id:userinfo=`mobilephone`]]</code >
Факс [[!+modx.user.id:userinfo=`fax`]]</code >
Дата рождения [[!+modx.user.id:userinfo=`dob`:date=`%Y-%m-%d`]]</code >
Пол [[!+modx.user.id:userinfo=`gender`]]</code >
Страна [[!+modx.user.id:userinfo=`country`]]</code >
Область [[!+modx.user.id:userinfo=`state`]]</code >
Почтовый индекс [[!+modx.user.id:userinfo=`zip`]]</code >
Фото [[!+modx.user.id:userinfo=`photo`]]</code >
Комментарий [[!+modx.user.id:userinfo=`comment`]]</code >
Пароль [[!+modx.user.id:userinfo=`password`]]</code >
Временный пароль [[!+modx.user.id:userinfo=`cachepwd`]]</code >
Последняя авторизация [[!+modx.user.id:userinfo=`lastlogin`:date=`%Y-%m-%d`]]</code >
Дата текущей авторизации [[!+modx.user.id:userinfo=`thislogin`:date=`%Y-%m-%d`]]</code >
Количество авторизаций [[!+modx.user.id:userinfo=`logincount`]]</code >

[[!+modx.user.id]] возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на [[*createdby]] или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • [[!+modx.user.id]] - Выведет идентификатор пользователя
  • [[!+modx.user.username]] - Выведет логин пользователя
  • [[!+modx.user.fullname]] - Полное имя пользователя
  • [[!+modx.user.dob]] - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >

stripString Вырезает из строки заданную строку. Модификаторы в MODx Revolution</fixedpre ></b >
replace Обычная замена. Модификаторы в MODx Revolution</fixedpre ></b >
striptags, stripTags,notags,strip_tags Вырезает все теги, кроме разрешенных, аналогично функции php strip_tags Модификаторы в MODx Revolution

len,length, strlen Возвращает длину строки, аналогично функции php strlen 30
reverse, strrev Переворачивает строку, аналогично функции php strrev noituloveR xDOM в ыротакифидоМ
wordwrap Устанавливает переносы в зависимости от кол-ва символов слова, аналогично функции php wordwrap Модификаторы
в MODx
Revolution</fixedpre ></b >
limit Устанавливает лимит на длинну строки и обрезает ее. Модификато</fixedpre ></b >
ellipsis Устанавливает лимит на длинну строки и обрезает ее, добавляя три точки в конце Модификаторы…</fixedpre ></b >
tag Вернет, запись тега. [[*pagetitle:ellipsis=`10`]]</fixedpre ></b >вернет: [[*pagetitle:ellipsis=`10`]]
add, increment, incr Вернет, значение + модификатор ( по умолчанию +1 ). 1 или 97</fixedpre ></b >
subtract, decrement, decr Вернет, значение - модификатор ( по умолчанию -1 ). -1 или -97</fixedpre ></b >
multiply, mpy Вернет, значение * модификатор ( по умолчанию *2 ). 0 или 0</fixedpre ></b >
divide, div Вернет, значение / модификатор ( по умолчанию /2 ). 0 или 0</fixedpre ></b >
modulus, mod Вернет, целочисленный остаток от деления значения на модификатор ( по умолчанию % 2. Вернет 1 или 0. ) 0 или 0</fixedpre ></b >
ifempty, default, empty, isempty Вернет, указанный модификатор, если значение пусто. Модификаторы в MODx Revolution</fixedpre ></b >
notempty, !empty, ifnotempty, isnotempty Вернет, указанный модификатор, если значение не пусто. Не пусто!</fixedpre ></b >
nl2br Вернет строку с "<br />" или "<br>" вставленные перед всеми (\r\n, \n\r, \n и \r)..., аналогично функции php nl2br Модификаторы в MODx Revolution</b >Модификаторы в MODx Revolution
date Аналогично функции PHP strftime. Значение - отформатировано. </fixedpre ></b >
strtotime Аналогично функции PHP strtotime. Вернет дату. 1745651735</fixedpre ></b >, - вернет типа "1745651735"
fuzzydate Вернет дату. Типа вчера, сегодня.... Apr 26</fixedpre ></b >, - вернет типа "Apr 26"
ago Вернет дату в прошедших секундах, минутах, неделях или месяцах. 5 мес. назад</b >, - вернет типа "5 мес. назад"
md5 Аналогично функции php md5. d41d8cd98f00b204e9800998ecf8427e</b >.
cdata Вставляет строку в оболочку "CDATA" тегов. </b >.
userinfo Возвращает запрошенные модификаторов данные о пользователе. Значение должно быть id-пользователя ( modUser ). </fixedpre ></b >.
isloggedin Возвращает true, если пользователь авторизирован в этом контексте. </fixedpre ></b >.
isnotloggedin Возвращает true, если пользователь не авторизирован в этом контексте. 1</fixedpre ></b >.
toPlaceholder Помещает результат вывода тега в плейсхолдер, причем там где был помещен - ничего не выводится, а телепортируется в указанный плейсхолдер. До этого модификатора можно использовать любые другие модификаторы. </fixedpre ></b >, помещает содержимое в плейсхолдер точно не 10!. Можно усложнять запись добавляя в левую часть выражения любые другие модификаторы: </fixedpre ></b >, если = 10, тогда выводим в плейсхолдер точно не 10!: "ровно 10", если же нет "точно не 10!".
cssToHead Прописывает файл CSS в <link> элемент перед закрывающим тегом </head>, где значение тега модификатора вписывается в аттрибут "href". Используется modX.regClientCSS. перед закрывающим тегом </head>, регистрирует CSS, например: <link rel="stylesheet" href="значение +cssTv" type="text/css" />
htmlToHead Вписывает значение тега перед закрывающим тегом </head>. Используется modX.regClientStartupHTMLBlock. </b > перед закрывающим тегом </head>, регистрирует значение тега в HTML код.
htmlToBottom Вписывает значение тега перед закрывающим тегом </body>. Используется modX.regClientHTMLBlock. </fixedpre ></b > перед закрывающим тегом </body>, регистрирует значение тега в HTML код.
jsToHead Прописывает файл JS в <link> элемент перед закрывающим тегом </head>. Используется modX.regClientStartupScript. перед закрывающим тегом </head>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
jsToBottom Прописывает файл JS в <link> элемент перед закрывающим тегом </body>. Используется modX.regClientScript. перед закрывающим тегом </body>, регистрирует JS, например: <script type="text/javascript" src="значение +jsTv"></script>
urldecode Аналогично функции php urldecode. </b >.

Модификатор UserInfo

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

Поле профиля Пример
Внутренний ключ профиля </code >
Логин </code >
Полное имя </code >
Роль </code >
E-mail </code >
Телефон </code >
Мобильный телефон </code >
Факс </code >
Дата рождения </code >
Пол </code >
Страна </code >
Область </code >
Почтовый индекс </code >
Фото </code >
Комментарий </code >
Пароль </code >
Временный пароль </code >
Последняя авторизация </code >
Дата текущей авторизации </code >
Количество авторизаций </code >

0 возвращает id вошедшего в систему пользователя. Конечно, вы можете заменить, его на 1 или другое поле ресурса или даже на плейсхолдер, который возвращает числовое представление id пользователя.

Обратите внимание, что профиль текущего пользователя уже доступен в MODX по умолчанию, так что вам не нужно использовать модификатор UserInfo для него:

  • 0 - Выведет идентификатор пользователя
  • (anonymous) - Выведет логин пользователя
  • - Полное имя пользователя
  • - Дата рождения

Фильтр userinfo нужно вызывать некэшированным, иначе пользователи будут видеть чужие закэшированные данные.</em >