现在的位置: 首页 > 综合 > 正文

smarty注册函数

2014年02月22日 ⁄ 综合 ⁄ 共 577字 ⁄ 字号 评论关闭

第一次使用php smarty模板开发,要在html代码里面使用php函数,网上的一些手册使用的的registerfunction方法来注册函数,而我使用的模板版本是3.1.4,在官网上已经改为了使用registerplugin方法。
在官网的document里面找了个例子,照着写了一个。代码没有报错,但是使用了注册函数以后的html代码就是不显示了。 开始使用的方法是: php里面:$smatry->register_plugin(‘function’, ‘funMyFun’, ‘myFun’); function myFun($arg1, $arg2) {} html里面:{funMyFun arg1=$arg1 arg2=$arg2} 仔细看了官网上的例子,发现他在函数里面使用的变量名称,和传入的参数名是一致的,且只有一个参数,多参数的例子没有。看了些资料,函数写法是function
a($param){$b=$param['a'];},可知,传入的参数是一个数组,即多个参数时,smarty将所有数组都放入了一个数组作为一个参数传入。 其他的代码不变,只需将函数修改一下即可正常使用。

function myFun($params) {
    extract($param);
    //这样就可以使用html里传入的$arg1...$argn了,{myFun arg1=1 arg2=2}
}

抱歉!评论已关闭.