Cómo aplicar dinámicamente modificadores variables en Smarty 2.x
Pregunta
No puedo encontrar la solución de aplicar modificadores dinámicamente en Smarty.
Plantilla: me gustaría trabajar de esta manera (ejemplo)
{$myVariable|$modifiers}
Script php
$smarty->assign('myVariable', "brumla brumla na drum drum drum");
$smarty->assign('modifiers', "truncate:30|trim");
O me gustaría aplicar modificadores en PHP: ¿hay algún método para analizar y aplicar modificadores en PHP?
Gracias por las respuestas.
Solución
Cada modificador de Smarty se llama realmente la función PHP smarty_modifier_$ Nombre(). Esta función puede llamarse como cualquier otra.
Entonces, en ese código de ejemplo, simplemente harías:
<?php
$myVariable = "brumla brumla na drum drum drum";
$myVariable = smarty_modifier_truncate($myVariable, 30);
$myVariable = smarty_modifier_trim($myVariable);
$smarty->assign('myVariable', $myVariable);
Por supuesto que puedes usar call_user_func () para hacerlo más dinámico.
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow