2010-06-04 3 views
0

Я не могу найти решение динамического применения модификаторов в Smarty.Как динамически применять переменные модификаторы в Smarty 2.x

Шаблон - Я хотел бы работать таким образом (пример)

{$myVariable|$modifiers} 

Php скрипт

$smarty->assign('myVariable', "brumla brumla na drum drum drum"); 
$smarty->assign('modifiers', "truncate:30|trim"); 

Или я хотел бы применить модификаторы в PHP - есть ли способ для синтаксического анализа и применения модификаторы в php?

Спасибо за ответы.

ответ

2

Каждый модификатор Smarty действительно функция PHP называется smarty_modifier_ $ имя(). Эту функцию можно назвать любой другой.

Таким образом, в этом примере кода вы бы просто сделать:

<?php 
$myVariable = "brumla brumla na drum drum drum"; 
$myVariable = smarty_modifier_truncate($myVariable, 30); 
$myVariable = smarty_modifier_trim($myVariable); 
$smarty->assign('myVariable', $myVariable); 

Конечно, вы можете использовать call_user_func(), чтобы сделать его более динамичным.

+0

А как насчет модификатора date_format, если у меня нет экземпляра Smarty. Этот модификатор вызывает объект smarty ... –