巧用math函数在smarty模板中给变量动态赋值

今天无意中发现了Math函数,感觉很好用,稍加修改就可以达到上述效果:

  1. <!–{math equation=x x=0 assign=i}–>
  2. <!–{section name=smartyVar loop=10 }–>
  3. <!–{math equation=$i+1 assign=i}–>
  4. <br />
  5. <!–{$i}–>
  6. <br />
  7. <!–{/section}–>

输出效果:

  1. <br />
  2. 1
  3. <br />
  4.  
  5. <br />
  6. 2
  7. <br />
  8.  
  9. <br />
  10. 3
  11. <br />
  12.  
  13. <br />
  14. 4
  15. <br />
  16.  
  17. <br />
  18. 5
  19. <br />
  20.  
  21. <br />
  22. 6
  23. <br />
  24.  
  25. <br />
  26. 7
  27. <br />
  28.  
  29. <br />
  30. 8
  31. <br />
  32.  
  33. <br />
  34. 9
  35. <br />
  36.  
  37. <br />
  38. 10
  39. <br />

如果$i的初始值不是0,例如1,”math equation=x x=1 assign=i”还可以写成”math equation=1 assign=i”,省略其中的x变量.是0时不可以省,否则会出现警告信息Warning: Smarty error: math: missing equation parameter
虽然在模板中再为变量赋值不是一个好主意,但真的需要时可以按上面的方法试一下

This entry was posted in 未分类. Bookmark the permalink.

Leave a Reply