巧用math函数在smarty模板中给变量动态赋值
Smary模板用了一段时间了,不陌生但也称不上熟练.前两天一直困扰一个问题,就是如何在模板中给变量赋值,如进行一个循环,可能会想在每次循环的时候改变变量的值,但如果直接,就会产生一个致命错误Fatal error: Smarty error: syntax error: unrecognized tag: $i=1 (Smarty_Compiler.class.php, line 436) .
今天无意中发现了Math函数,感觉很好用,稍加修改就可以达到上述效果:
[coolcode]
[/coolcode]
输出效果:
[coolcode lang=”html”]
1
2
3
4
5
6
7
8
9
10
[/coolcode]
如果$i的初始值不是0,例如1,”math equation=x x=1 assign=i”还可以写成”math equation=1 assign=i”,省略其中的x变量.是0时不可以省,否则会出现警告信息Warning: Smarty error: math: missing equation parameter
虽然在模板中再为变量赋值不是一个好主意,但真的需要时可以按上面的方法试一下:)