{php}関数 PHP コードを直接テンプレートに書き込む
PHP コードを直接テンプレートに埋め込むことができます。
$php_handling の設定にかかわらず、これはエスケープされません。
このテンプレート内で、Smartyの変数を定義することも可能です。
テンプレート
{php} echo 'テンプレート内のPHPでechoもできます'; // 変数を Smarty に割り当てます $this->assign('hoge','テスト'); {/php} {* テンプレート内のPHPで指定された変数も使えます *} {$hoge}
注意 Smartyは、オブジェクトとして動作するため、 {php} ブロック内の PHP 変数にアクセスするには、PHP の global キーワードを使う必要があります。
PHP
$a = 1; $b = 2;
テンプレート(1)
{php} // PHPの変数を使うには global を使います global $a, $b; if($a == $b){ echo 'テンプレート内のPHPでechoもできます'; } {/php}
テンプレート(2)
{php} // PHPの変数を使うには global を使います if($GLOBALS['a'] == $GLOBALS['b']){ echo 'テンプレート内のPHPでechoもできます'; } {/php}
関連記事
- {strip}関数 各行の先頭と終端にある半角スペースや改行を除去する
- {literal}関数 構文解析の対象にしない
- {ldelim},{rdelim} デリミタを表示する
- {insert}関数 関数を読み込む
- {include_php}関数 PHP スクリプトを読み込む
- {include}関数 他のテンプレートを読み込む
- {config_load}関数 設定ファイル から変数を読み込む
- {capture}関数 出力を変数に受け渡す
- {section}関数 テンプレート内で繰り返し
- {foreach}関数 テンプレート内で繰り返し
- {if}関数 条件文
スポンサーリンク