牛骨文教育服务平台(让学习变的简单)
博文笔记

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

创建时间:2017-12-01 投稿人: 浏览次数:278

首先在实例化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>
这里调用的格式也是花括号包围,后面跟参数赋值


声明:该文观点仅代表作者本人,牛骨文系教育信息发布平台,牛骨文仅提供信息存储空间服务。