string fetch ( string template [, string cache_id [, string compile_id]])
This returns the template output instead of displaying it.
Supply a valid template resource
type and path. As an optional second parameter, you can pass a
cache id. See the caching
section for more information.
As an optional third parameter, you can pass a compile_id.
This is in the event that you want to compile different versions of
the same template, such as having separate templates compiled
for different languages. Another use for compile_id is when you
use more than one $template_dir but only one $compile_dir. Set
a separate compile_id for each $template_dir, otherwise
templates of the same name will overwrite each other. You can
also set the $compile_id variable once
instead of passing this to each call to this function.
Example 1. fetch
<?php include("Smarty.class.php"); $smarty = new Smarty;
$smarty->caching = true;
// only do db calls if cache doesn't exist if(!$smarty->is_cached("index.tpl")) {
// dummy up some data $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);
}
// capture the output $output = $smarty->fetch("index.tpl");
// do something with $output here
echo $output; ?>
|
|