以下のように連結された文字列でローカルテンプレート変数を割り当てる方法:
{$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
をrarely、ロジックをプレゼンテーションから分離するという考え方について誤解している可能性があります。通常、連結やその他の変数の作業は、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}