fetch() テンプレートの出力を返します
説明
string fetch ( string template [, string cache_id [, string $compile_id]])
パラメータ
string | template | テンプレート名 |
string | cache_id | キャッシュID/td> |
string | compile_id | コンパイルファイルID |
これは、テンプレートを 表示する のではなくその出力を返します。 第1パラメータには、有効な テンプレートリソース の種類を含んだパスを指定する事ができます。 任意の第2パラメータには キャッシュID を渡す事ができます。 詳細は、キャッシュの項目 を参照してください。 任意の第3パラメータとして $compile_id を渡すことができます。 異なる言語でコンパイルされた別々のテンプレートが存在するような、同じテンプレートの異なるバージョンをコンパイルしたい場合に利用します。 $compile_id の別の利用法としては、複数の $template_dir を持っているが $compile_dir は1つしかない場合などがあります。 各 $template_dir に別々の $compile_id をセットしなければ、同名のテンプレートはお互いに上書きされてしまいます。 この関数をコールする度に compile_id を渡す代わりに、一度 $compile_id 変数をセットすることもできます。
PHP
include('Smarty.class.php'); $smarty = new Smarty; $smarty->caching = true; // キャッシュが存在しない場合はデータベースを呼び出します if(!$smarty->is_cached('index.tpl')) { // ダミーデータを用意 $address = '245 N 50th'; $db_data = array( 'City' => 'Lincoln', 'State' => 'Nebraska', 'Zip' => '68502' ); $smarty->assign('Name','Fred'); $smarty->assign('Address',$address); $smarty->assign($db_data); } // 出力を取り込みます $output = $smarty->fetch('index.tpl'); // ここで$outputについて何かの処理を行います echo $output;
テンプレート
Dear {$contact.name}, Welcome and thankyou for signing up as a member of our user group, Click on the link below to login with your user name of '{$contact.login_id}' so you can post in our forums. http://{$smarty.server.SERVER_NAME}/login/ List master Some user group {include file='email_disclaimer.tpl'} {textformat} 修飾子を用いた email_disclaimer.tpl {textformat wrap=40} Unless you are named "{$contact.name}", you may read only the "odd numbered words" (every other word beginning with the first) of the message above. If you have violated that, then you hereby owe the sender 10 GBP for each even numbered word you have read {/textformat}
PHP
// pear や adodb などを使用して、データベースから連絡先を取得します $query = 'select name, email, login_id from contacts where contact_id='.$contact_id; $contact = $db->getRow($sql); $smarty->assign('contact', $contact); mail($contact['email'], 'Subject', $smarty->fetch('email_body.tpl'));
関連記事
- unregister_resource() 動的に登録されたリソースプラグインを未登録にします
- unregister_prefilter() 動的に登録されたプリフィルタプラグインを未登録にします
- unregister_postfilter() 動的に登録されたポストフィルタプラグインを未登録にします
- unregister_outputfilter() 動的に登録されたアウトプットフィルタプラグインを未登録にします
- unregister_object() 動的に登録されたオブジェクトを未登録にします
- unregister_modifier() 動的に登録された変数の修飾子プラグインを未登録にします
- unregister_function() 動的に登録されたテンプレート関数プラグインを未登録にします
- unregister_compiler_function() 動的に登録されたコンパイラ関数を未登録にします
- unregister_block() 動的に登録されたブロック関数プラグインを未登録にします
- template_exists() 指定したテンプレートが存在するかどうかをチェックします
- trigger_error() エラーメッセージを出力します
- register_resource() リソースプラグインを動的に登録します
- register_prefilter() プリフィルタを動的に登録します
- register_postfilter() ポストフィルタを動的に登録します
- register_outputfilter() アウトプットフィルタを動的に登録します
- register_object() テンプレート内で使用するオブジェクトを登録します
- register_modifier() 変数の修飾子プラグインを動的に登録します
- register_function() テンプレート関数プラグインを動的に登録します
- register_compiler_function() コンパイラ関数プラグインを動的に登録します
- register_block() ブロック関数プラグインを動的に登録します
- load_filter() フィルタプラグインを読み込みます
- is_cached() テンプレートが有効なキャッシュを持つ場合にtrueを返します
- get_template_vars() 割り当てられた変数の値を返します
- get_registered_object() 登録されたオブジェクトの参照を返します
- get_config_vars() 読み込まれた設定ファイル変数を返します
- display() テンプレートを表示します
- config_load() 設定ファイルのデータを読み込み、テンプレートに割り当てます
- clear_config() 割り当てられたすべての設定ファイルの変数をクリアします
- clear_compiled_tpl() 指定したテンプレートのキャッシュを破棄します
- clear_cache() 指定したテンプレートのキャッシュを破棄します
- clear_assign() 割り当てられたテンプレート変数の値を破棄します
- clear_all_cache() 全てのテンプレートのキャッシュをクリアします
- clear_all_assign() 割り当てられた全てのテンプレート変数を破棄します
- assign_by_ref() 参照として値を割り当てます
- assign() テンプレートに値を割り当てます
- append_by_ref() 参照として値を追加します
- append() 割り当てられたテンプレート配列に要素を追加します
スポンサーリンク