2011-07-23 170 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