以下のように連結された文字列を使用してローカルテンプレート変数を割り当てる方法:
{$yes_src=const1.'yes'.const2}
以下のコードで次のように使用されます{$yes_src}
。
あなたがそれをしている方法は、の「短縮形」と呼ばれています、あなたはただ正しい引用メカニズムassign
を使う必要があります:
{$yes_src="`$const1`yes`$const2`"}
使用assign
:
{assign var="yes_src" val="`$const1`yes`$const2`"}
使用cat
:
{$const1|cat:"yes"}{$const2}
変数に割り当てずに、変数を並べて配置することもできます。
{$const1}yes{$const2}
...変数は必要ありません。
注めったに 使用しないassign
場合は、ロジックをプレゼンテーションから分離するという考え方について誤解している可能性があります。通常、連結やその他の変数の作業は、テンプレートが関与する前にPHPで実行されます。テンプレートの役割はデータを表示することだけです。テンプレート内のデータを作成または変更することは避けてください。
ドキュメンテーション
assign
- http: //www.smarty.net/docs/en/language.function.assign.tplcat
- http: //www.smarty.net/docsv2/en/language.modifier.cat{ $yes_src = $variable|cat:"some string"|cat:$variable }
これを試して:
{capture assign=yes_src}{$const1}.'yes'.{$const2}{/capture}
次に、新しい変数を使用します。
{$yes_src}