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