====== Фильтры ====== Фильтры - предназначены для модифицирования значения переменной или строки при выводе в шаблон при помощи [[.expressions|выражений]]. Фильтры отделяются от остальной части выражения вертикальным разделителем. Несколько фильтров в выражении разделяются также вертикальным разделителем: {$UserName|trim|capitalize} В данном примере, фильтр trim сначала убирает пробелы с конца и сначала строки (значения переменной ''%%UserName%%''), а затем capitalize переводит первую букву строки в верхний регистр. В откомпилированном шаблоне это будет выглядеть как: ===== Параметры фильтров ===== К фильтрам могут применяться дополнительные параметры. Параметры начинаются после знака двоеточия, сами параметры отделяются друг от друга запятыми: {$UserName|default:"anonymous"} {$value|number:2, '. ', ' '} В первом случае, фильтр выведет значение “anonymous”, если переменная ''%%UserName%%'' не будет определена в контейнере данных при исполнении шаблона. В качестве параметров также допускается использование переменных:
{$PlainText|wordwrap:$size}
Чаще всего в виде фильтров реализуются php-функции, такие как trim, strtoupper и т.д. MACRO содержит достаточно большой список фильтров. ===== Фильтры из других пакетов ===== Основные фильтры расположены в пакете [[limb3:ru:packages:macro|macro]]. Однако у других пакетов тоже могут быть свои фильтры. Для того, чтобы их использовать, перед названием фильтра ставится префикс пакета. Например есть стандартный фильтр ''clip'', который расположен в пакете macro. Однако и в другом пакете — [[limb3:ru:packages:i18n|i18n]], есть фильтр с таким же названием. Соответственно используются они так: {$str|clip:2} {$str|i18n_clip:2}