smarty中的自定义函数(一)assign、cycle、debug...

Smarty中有很好的扩展,提供很多定义的函数

1、assign

定义一个模板变量并赋值

格式:<{assign var="变量名" value="值"}>

<{assign var="role" value="role_1"}><{*定义一个role变量,值为role_1*}>
<{$role}><{*输出role_1*}>
2、counter

计数

<{*
	counter用于计数,执行一次加一次
	start,可选,开始数
	skip,可选,步长
	direction,可选,计数方向,增/减
	print,可选,是否输出
	assign,可选,counter不输出,将内容保存到assign指定的变量中
*}>
<{counter start=0 skip=3 direction=up print=true assign="role"}>
<{counter}>
<{counter}>
<{counter}>
<{$role}><{*输出9*}>
3、cycle

自动轮转使用一组值

$data = array('001','002','003');
$smarty->assign('data',$data);
<{*
	cycle轮转
	values,必选,值,
	name,可选,轮转的名称
	print,可选,是否输出
	advance,可选,是否使用下一值,默认false
	delimiter,可选,values之间的分隔符号,默认为","
	assign,可选,指定给一个变量
*}>
<table>
<{section loop=$data name=row}>
<tr bgcolor="<{cycle values="#bbb,#eee,red" print=true}>">
	<td><{$data[row]}></td>
<tr>
<{/section}>
</table>
结果:

4、debug

将调试信息输出到页面

可选参数:output,javascript或html(默认)
5、eval

按处理模板的方式计算取得变量的值. 该特性可用于在配置文件中的标签/变量中嵌入其它模板标签/变量

配置文件

name = "chuangrain"
printName = Your name is <{#name#}>!
<{config_load file="info.conf"}>
<{eval var=#printName# assign=info}>
<{$info}>
结果: Your name is chuangrain! 

6、fetch

获取本地文件或者其他文件的内容

<{fetch file="http://www.baidu.com" assign=baidu}>
<{$baidu}>




  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值