2011-07-23 18 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では、反復やリンクの生成(例えばスマートなプラグインなど)のようなロジックがあります。

3

{assign}テンプレート関数で式を使用できます。

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

またはその短縮形で、

{$c=$c+1} 
+0

'構文エラー:認識できないタグ:$ c = $ c + 1(Smarty_Compiler.class.php、439行)'このエラーが発生しました – RSK

+0

スマートドキュメントを読んだことがありますか? – salathe