Модификаторы Smarty
- можно применять одновременно несколько модификаторов
- модификаторы могут принимать параметры
- можно создавать собственные модификаторы
Синтаксис:
{$переменная|модификатор1:парам11:парам12|модификатор2:парам21:парам22}
Примеры:
{* модификатор с параметрами, комбинация модификаторов *} {$title|truncate:40:'...'|upper} {* использование date_format для форматирования текущей даты *} {$smarty.now|date_format:"%Y/%m/%d"}
Модификаторы Smarty
{$title|count_characters:true} – кол-во символов без/с учетом пробелов
{$smarty.now|date_format:"%A, %B %e, %Y"} – форматирование даты
{$title|default:'no title'} – значение по умолчанию
{$title|replace:'Garden':'Vineyard'} – замена символов
{$title|truncate:30:"..."} – обрезка
Все модификаторы на сайте Smarty.
Модификаторы QS
{$blocks.menu|menuformat} – преобразование меню
{$blocks.block1|wackoformat} – полное вики-форматирование
{$blocks.block1|wackoformatsimple} – рекомендуется упрощенное вики-форматирование (без action, форматтеров и т.п.)
{$blocks.block1|date_format_rus} – форматирование даты сделать curbased параметром
Создание модификаторов
Модификаторы хранятся в папке classes/smarty_plugins.
Имя файла modifier.[имя_форматтера].php
Пример форматтера modifier.userInfo.php
{$item.user|user_info:"age"} – информация о пользователе
<?php
function smarty_modifier_user_info($string, $field="name") //первый параметр - $field, значение по умолчанию "name"
{
global $wacko;
$servOnto = $wacko->srvFactory("AdvOntology");
$res = $servOnto->getConcept("User", $string);
return $res[$field];
}
?>