smarty @Wiki

fetch()

最終更新:

匿名ユーザー

- view
だれでも歓迎! 編集

fetch()


string fetch ( string template [, string cache_id [, string compile_id]])

テンプレートを表示する代わりにその出力を返します。(⇒display?)
第1パラメータには、有効なテンプレートリソースの種類を含んだパスを指定する事ができます。
任意の第2パラメータにはキャッシュIDを渡す事ができます。詳細は、キャッシュの項を参照して下さい。

任意の第3パラメータとして compile_idを渡す事が出来ます。
異なる言語でコンパイルされた別々のテンプレートが存在するような、同じテンプレートの異なるバージョンをコンパイルしたい場合に利用します。 他にも、1つ以上の$template_dirを持っているが$compile_dirが1つしかない場合です。
それぞれの $template_dirのために別々のcompile_idをセットしなければ、同名のテンプレートはお互いに上書きされてしまいます。
この関数をコールする度にcompile_idをセットする代わりに、一度$compile_id変数をセットする事が出来ます。

例 1. fetch

<?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");


echo $output;
?>
ウィキ募集バナー