{eval}関数 変数をテンプレートとして扱う
{eval} は、与えられた変数をテンプレートとして扱います。
テンプレート変数又はテンプレートタグを変数や設定ファイル内に埋め込むような用途に使われます。
assign 属性が指定されると、{eval} 関数の出力はこのテンプレート変数に割り当てられ、テンプレートに出力されません。
属性名 | 型 | 必須 | デフォルト | 概要 |
---|---|---|---|---|
var | mixed | Yes | n/a | 評価される変数 (又は文字列) |
assign | string | No | n/a | 出力が割り当てられるテンプレート変数 |
与えられた変数は、テンプレートと同じように扱われます。
デリミタのエスケープやセキュリティ機能も、テンプレートと同様になります。
評価される変数はリクエスト毎にコンパイルされるので、コンパイルされた形式では保存されません。
しかしキャッシュ が有効に設定されている場合は、残りのテンプレートの出力に関してはキャッシュされます。
PHP
$hoge = 'テスト'; $foo = 'かも'; //変数内に、さらに変数を使えます。 $str1 = ' {$hoge} - {$foo}'; //Smartyの修飾子やsmarty変数も使えます。 $str2 = 'サーバー名は {$smarty.server.SERVER_NAME|upper} ' . 'です'; $smarty->assign('hoge',$hoge); $smarty->assign('foo',$foo); $smarty->assign('str1',$str1); $smarty->assign('str2',$str2);
テンプレート
{eval var=$hoge} {eval var=$str1} {eval var=$str2 assign='test'} {$test}
出力
テスト テスト - かも サーバー名は WWW.EXAMPLE.COM です
関連記事
- {math}関数 テンプレート内で数学の計算をする
- {textformat}関数 テキストを整形する
- {popup_init}関数 {popup}関数のためのライブラリを呼び出す
- {popup}関数 Javascript のポップアップウィンドウを作成する
- {mailto}関数 mailto: リンクの作成とメールアドレスのエンコードをする
- {html_table}関数 HTMLの<table>にデータの配列を出力する
- {html_select_time}関数 時間のドロップダウンリストを作成する
- {html_select_date}関数 日付のドロップダウンリストを作成する
- {html_radios}関数 HTMLラジオボタンを作成する
- {html_options}関数 HTMLセレクト<select><option>タグを作成する
- {html_image}関数 HTML<img>タグを作成する
- {html_checkboxes}関数 HTMLチェックボックスを作成する
- {fetch}関数 ファイルを取得して表示する
- {debug}関数 デバック用の表示を出力する
- {cycle}関数 値の設定に従って循環する
- {counter}関数 カウントした回数を表示する
- {assign}関数 変数を テンプレートの実行時に割り当てる
スポンサーリンク