自定义变量调节器
两种方式:
第一种通过registerPlugin()方法将定义的函数注册到Smarty对象中,只能在当前模版中使用
function getExt($filename){
return strtolower(pathinfo($filename,PATHINFO_EXTENSION));
}
$smarty->registerPlugin('modifier','ext','getExt');modifier:注册为变量调节器ext:变量调节器的名称
getExt:调用的函数取得文件后缀名
使用该变量调节器
<{$filename|ext}>前面的$filename即为传入getExt()的第一个参数 function myFunc($content,$size,$color,$family,$weight){
$html = '<span style="font-size:'.$size.';color:'.$color.';font-family:'.$family.';font-weight:'.$weight.'">'.$content.'</span>';
return $html;
}
$smarty->registerPlugin('modifier','font','myFunc');使用该变量调节器 <{$string4|font:'20px':'green':'Microsoft Yahei':'normal'}>也可以直接将PHP系统函数注册成变量调节器插件
$smarty->registerPlugin('modifier', 'strShuffle', 'str_shuffle');str_shuffle()为PHP系统自带的函数 第二种方式可以像系统默认的变量调节器一样,在Smarty库文件所在的插件目录plugins中定义一个文件扩展插件,无需注册即可使用。
插件命名规则:modifier.变量调节器名称.php
插件内方法命名规则:smarty_modifier_变量调节器名称(形参...){}
版权声明:本文为lichangjian114原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。