四、smarty模板的自定义函数
smarty模板的自定义函数(这里介绍的是常用)
分为三个种类:
1、 变量调节器
2、 函数
3、 块函数
三个种类插件的用法:
1、 变量调解器的用法,
<{$var|myfun:arg1:arg2}>
2、 函数的用法(和使用HTML标记很像)
如,
<{myfun color=”red” size=”7” num=”7”}>
在PHP中定义的函数为:
$smarty->registerPlugin(“function”,”myfun”,”one”); function one($args,$smarty){} //$args为color=”red” size=”7” num=”7”这些参数组合起来的关联数组,第二个参数是自动接收$smarty对象的,如果不用可不写
3、 块函数的用法,
如,
<{myfun color=”red” size=”7”}>内容<{/myfun}>
在PHP中定义的函数为:
$smarty->registerPlugin(“block”,”myfun”,”two”) Function two($args,$content,$smarty){} //$args为color=”red” size=”7”这些参数组合起来的关联数组,第二个参数是要显示的”内容”,第三个参数是$smarty对象
有两种做法:
1、 使用smarty对象中的registerPlugin()方法将PHP中的函数注册成smarty中的函数。
2、 就是开发的smarty的插件(以独立的特定文件添加插件)
1) 声明的位置
可以在smarty类库中的原有Plugins目录下创建,也可以使用自己指定的目录$smarty->addPluginsDir(目录) //smarty3中
2) 文件的命名
修改器,modifier.修改器名称.php
函数, function.函数名称.php
块函数,block.块函数名称.php
3) 函数的命名
修改器,smarty_modifier_修改器名称()
函数, smarty_function_函数名称()
块函数,smarty_block_块函数名称()
4) 参数的规则
修改器,smarty_modifier_修改器名称($var,$arg1,$arg2,$arg3)
函数, smarty_function_函数名称($args,$smarty)
块函数,smarty_block_块函数($args,$content,$smarty,$repeat)
//$repeat参数防止块函数被重复调用,及第一次调用为真,以后为假
//<{myfun color=”red” size=”7”}>内容<{/myfun}>,第一次myfun为真,第二次<{/myfun}>为假