Инструменты пользователя

Инструменты сайта


limb3:ru:packages:macro:filters_intro

Фильтры

Фильтры - предназначены для модифицирования значения переменной или строки при выводе в шаблон при помощи выражений.

Фильтры отделяются от остальной части выражения вертикальным разделителем. Несколько фильтров в выражении разделяются также вертикальным разделителем:

{$UserName|trim|capitalize}

В данном примере, фильтр trim сначала убирает пробелы с конца и сначала строки (значения переменной UserName), а затем capitalize переводит первую букву строки в верхний регистр.

В откомпилированном шаблоне это будет выглядеть как:

 <?php echo ucfirst(trim($UserName)); ?>

Параметры фильтров

К фильтрам могут применяться дополнительные параметры. Параметры начинаются после знака двоеточия, сами параметры отделяются друг от друга запятыми:

{$UserName|default:"anonymous"}
{$value|number:2, '. ', ' '}

В первом случае, фильтр выведет значение “anonymous”, если переменная UserName не будет определена в контейнере данных при исполнении шаблона.

В качестве параметров также допускается использование переменных:

<? $size = 10; ?>
<pre>{$PlainText|wordwrap:$size}</pre>

Чаще всего в виде фильтров реализуются php-функции, такие как trim, strtoupper и т.д. MACRO содержит достаточно большой список фильтров.

Фильтры из других пакетов

Основные фильтры расположены в пакете macro. Однако у других пакетов тоже могут быть свои фильтры. Для того, чтобы их использовать, перед названием фильтра ставится префикс пакета.

Например есть стандартный фильтр clip, который расположен в пакете macro. Однако и в другом пакете — i18n, есть фильтр с таким же названием. Соответственно используются они так:

{$str|clip:2}
{$str|i18n_clip:2}

Обсуждение

Ваш комментарий. Вики-синтаксис разрешён:
   _  __  _____  _____   ____   ____
  | |/_/ / ___/ / ___/  / __/  / __/
 _>  <  / (_ / / (_ /  / _/   _\ \  
/_/|_|  \___/  \___/  /___/  /___/
 
limb3/ru/packages/macro/filters_intro.txt · Последние изменения: 2010/11/10 10:02 (внешнее изменение)