作業ノート

様々なまとめ、雑感など

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`"}

値全体をダブルクォートで囲み、変数をバッククォートで囲むことによって値を展開する。

参考