2010-06-04 37 views
0

Je ne trouve pas la solution d'appliquer des modificateurs de façon dynamique dans Smarty.Comment appliquer dynamiquement des modificateurs de variable dans Smarty 2.x

Modèle - Je voudrais travailler de cette façon (par exemple)

{$myVariable|$modifiers} 

script actuel

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

Ou je voudrais appliquer des modificateurs en php - est-il une méthode pour l'analyse et l'application modificateurs en PHP?

Merci pour les réponses.

Répondre

2

Chaque modificateur Smarty est vraiment fonction PHP appelé smarty_modifier_ $ name(). Cette fonction peut être appelée comme n'importe quelle autre.

Donc, dans ce code exemple vous feriez tout faire:

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

Bien sûr, vous pouvez utiliser call_user_func() pour le rendre plus dynamique.

+0

Et qu'en est-il du modificateur date_format si je n'ai pas d'instance de Smarty. Ce modificateur appelle un objet smarty ... –