smartyテンプレートの変数で文字列を連結する
少しはまったのでメモ。
phpのプログラムでは連結演算子(.
)で連結できる。しかしsmartyテンプレートでは、ドット(.
)は配列の要素を表すので、文字列の連結ができない。
smartyテンプレートで文字列を連結する方法は2通り。
1.cat修飾子
{assign var='path' value=$smarty.server.PHP_SELF|cat:"?foo="|cat:$foo}
変数に対してcat修飾子を連続して使用することで連結できる。
2. ダブルクォート("
)とバッククォート(`
)
{assign var='path' value="`$smarty.server.PHP_SELF`?foo=`$foo`"}
値全体をダブルクォートで囲み、変数をバッククォートで囲むことによって値を展開する。