您的位置:首页 > 其它

Smarty中自定义函数与调用方法

2017-12-01 13:15 232 查看
首先在实例化Smarty的php页面中写自定义的函数,并且注册到Smarty中

<?php
require 'libs/Smarty.class.php';
require 'com/dao.class.php';

$smarty = new Smarty;
$dao = new dao;
$r=$dao->getSingle();
$smarty->assign("r",$r);
$smarty->registerPlugin("function","calRange","calRange");    //这是注册的语句,第一个参数"function"是固定写法,第二个参数是可以重命名到模板中引用的函数名,第三个参数是下面自己写的函数名称

$smarty->display('report.tpl');

function calRange($params,$smarty){    //这里自定义函数传进来的两个变量,$params代表在模板中调用是传进来的参数array,$smarty应该是对应上面实例化的Smarty对象名
if($params["s"]<=70.6){
return("D");
}
elseif($params["s"]<100){
return("C");
}
elseif($params["s"]<129.4){
return("B");
}
elseif($params["s"]>=129.4){
return("A");
}
}


在模板中调用:

<td>{$r['学习策略总']}</td>
<td>{calRange s=$r['学习策略总']}</td>
这里调用的格式也是花括号包围,后面跟参数赋值
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: