2011-07-23 112 views
6

我想给smarty中的变量添加一个常量值。就像:Smarty - 变量增加

{assign var='c' value='0'} 
$c=$c+1 
+1

“smart t”与[smarty](http://www.smarty.net/)相同吗? – salathe

+0

是的。我想是这样。 – RSK

回答

11

试试这个:

{assign var='c' value=0} 
{assign var='c' value=$c+1} 

缩写形式应太,但你说没有。

{$c=0} 
{$c=$c+1} 

但是这不起作用,因为你使用的是Smarty 2,对吗?因为在Smarty 3中它应该起作用。

3

尝试:

{assign var="c" value="`$something+$constant`"} 

但通常模板框架的意义是遵循MVC模式。所有的逻辑都是在控制器中完成的。或者在你的情况下,你的某种PHP脚本。该视图不应该保留很多逻辑(少逻辑更好的视图代码)。所以任何计算都不应该放在视图中。在mvc中,你会有一些像迭代或链接生成等逻辑(通过例如smarty插件)。

3

您可以使用带有{assign}模板函数的表达式。

{assign var=c value=$c+1} 

或其缩写形式,

{$c=$c+1} 
+0

'语法错误:无法识别的标记:$ c = $ c + 1(Smarty_Compiler.class.php,第439行)'我得到这个错误 – RSK

+0

您读过smarty文档吗? – salathe