{assign}関数 変数を テンプレートの実行時に割り当てる

{assign} は、テンプレート変数をテンプレートの実行時に割り当てます。

属性名必須デフォルト概要
varstringYesn/a割り当てられるテンプレート変数の名前
valuestringYesn/aテンプレート変数に割り当てる値

テンプレート

{assign var='hoge' value='テスト'}

{$hoge}

出力

テスト

複雑な例では、変数をバッククォート『 ` 』で囲む必要があります。

テンプレート

{assign var=foo value=`$hoge + $bar`}

PHP スクリプトからの {assign} 変数へのアクセス

PHP スクリプトから {assign} 変数にアクセスするには get_template_vars() を使用します。

テンプレート

{assign var='hoge' value='テスト'}

テンプレート変数は、以下のスクリプトのようにテンプレートの実行後か実行中にしか利用できません。

PHP

// これは何も出力しません。テンプレートがまだ実行されていないからです。
echo $smarty->get_template_vars('hoge');

// テンプレートを変数に格納します。
$page = $smarty->fetch('index.tpl');

// これは 'テスト' と出力します。テンプレートが実行されたからです。
echo $smarty->get_template_vars('hoge');

$smarty->assign('hoge','てすと');

// これは 'てすと' を出力します。
echo $smarty->get_template_vars('hoge');

関連記事

スポンサーリンク

Androidでマルチスレッド処理をする方法

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る