smarty模板引擎中自定义函数的方法

本文实例讲述了smarty 自定义函数方法,分享给大家供大家参考。具体如下:

本实例目的:输出 times 次 con的内容(输出4次hello world)

文件1:

<?php

//创建smarty对象

require_once("./libs/Smarty.class.php");

$smarty = new Smarty();

//自定义一个函数

//说明:(1)、$arr为一个数组;(2)、tpl调用形式{test times="4" size="5" con="hello,world" color="red"}

function test($arr){

 $str = "";

 for($i=0;$i<$arr['times'];$i++){

  $str .= "<font size='".$arr['size']."' color='".$arr['color']."'>".$arr['con']."</font>";

 }

 return $str;

}

//注册函数 registerPlugin

$smarty->registerPlugin("function","test","test");//第二个参数是模板文件调用的函数名称,可变;第三个参数是上面自定义的函数名称;相应于一个对应关系

$smarty->display("temp.tpl"); ?>

模板文件:temp.tpl

<html>

<h2>smarty自定义函数的使用</h2>

{test times="3" con="hello world" size="3" color="green"}

</html>

注意:smarty 3.1.8 已经不支持注册函数 register_function,应换成 registerPlugin

希望本文所述对大家的php程序设计有所帮助。