如何在 Smarty 2x 中动态应用变量修饰符
Posted
技术标签:
【中文标题】如何在 Smarty 2x 中动态应用变量修饰符【英文标题】:How to dynamicly apply variable modifiers in Smarty 2.x 【发布时间】:2010-06-04 12:53:17 【问题描述】:我在 Smarty 中找不到动态应用修饰符的解决方案。
模板 - 我想以这种方式工作(示例)
$myVariable|$modifiers
php 脚本
$smarty->assign('myVariable', "brumla brumla na drum drum drum");
$smarty->assign('modifiers', "truncate:30|trim");
或者我想在 php 中应用修饰符 - 有什么方法可以在 php 中解析和应用修饰符吗?
感谢您的回答。
【问题讨论】:
【参考方案1】:每个 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() 让它更有活力。
【讨论】:
如果我没有 Smarty 实例,那么修饰符 date_format 又如何呢?这个修饰符调用 smarty 对象...以上是关于如何在 Smarty 2x 中动态应用变量修饰符的主要内容,如果未能解决你的问题,请参考以下文章