2010-06-04 67 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_ $ name()。這個功能可以被調用。

所以在這個示例代碼你只是做:

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

如果我沒有Smarty實例,那麼修飾符date_format又如何呢?這個修飾語調用smarty對象... – 2010-06-10 11:25:56