Sim*_*n H 2 php function smarty
我在控制器类中创建了一个需要在模板中使用的函数(因为它呈现的模板很多次(每个模板都是网站上的一个帖子,它们都会在新闻源中显示不同的值).是否有一种在smarty变量上调用它的方法?假设您在控制器中创建了一个函数:
public function foo($bar){
$bar++;
return $bar;
}
Run Code Online (Sandbox Code Playgroud)
然后在模板中:
{$smarbar|foo} 或类似的东西
您可以注册一个将调用类的给定方法的修饰符:
class SomeClass {
public function someMethod($value)
{
// return modified value
}
}
$smarty = new Smarty();
$smarty->registerPlugin('modifier', 'myModifier', array('SomeClass', 'someMethod'));
// or
$instance = new SomeClass();
$smarty->registerPlugin('modifier', 'myModifier', array($instance, 'someMethod'));
Run Code Online (Sandbox Code Playgroud)
现在您可以在模板中使用它:
{$someVar|myModifier}
Run Code Online (Sandbox Code Playgroud)
这是registerPlugin文档.