fetch

fetch -- 

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