Smarty运用的一点小技巧

#1 ltotal

Smarty中执行PHP函数:
<{'param1'|functionName:'param2':'param3':...}>
例如输出当前时间: <{''|time}> = time()
按格式输出: <{'Y-m-d'|date}> = date('Y-m-d')
上面是date函数取默认的当前时间格式化, 但如果想通过函数返回或自定时间数值的话, 可以像下面这样嵌套:
<{'Y-m-d'|date : ''|time}> = date('Y-m-d', time())
(注意: 当参数为函数时, ':'两边要留一个空格, 不然的话就只会执行 ''|time 输出10位的整数了,普通变量参数的话, ':'两边可以不要空格的)
再譬如字符截取: <{'Hello World!'|substr:'1':'3'}> = substr('Hello World!', 1, 3) -> 'ell'
其他函数的调用方法类推
函数嵌套也可以用在注册到smarty模板的函数里面的, 像:
<{spMyFunction options='r'|spAccess:'cat_options'}>
上面的options参数就是用spAccess方法读取名为'cat_options'的缓存后返回的值了, cat_options缓存数据的类型可以是变量或数组等.
以上是小弟在使用SP的Smarty模板引擎开发过程中了解并延伸出来的, 希望能对大家有所帮助, 祝SP越办越好!

2009-12-29 20:01:03

#2 setlt

支持一下哦

2010-01-01 14:57:06

#3 tphpn

强烈支持

2013-08-27 17:12:36