Become Zend Certified

Prepare for the ZCE exam using our quizzes (web or iPad/iPhone). More info...

When you're ready get 7.5% off your exam voucher using voucher CJQNOV23 at the Zend Store


This function is called when a template cannot be obtained from its resource.


The default handler is currently only invoked for file resources. It is not triggered when the resource itself cannot be found, in which case a SmartyException is thrown.

Example 162. $default_template_handler_func


= new Smarty();
$smarty->default_template_handler_func 'my_default_template_handler_func';

 * Default Template Handler
 * called when Smarty's file: resource is unable to load a requested file
 * @param string   $type     resource type (e.g. "file", "string", "eval", "resource")
 * @param string   $name     resource name (e.g. "foo/bar.tpl")
 * @param string  &$content  template's content
 * @param integer &$modified template's modification time
 * @param Smarty   $smarty   Smarty instance
 * @return string|boolean   path to file or boolean true if $content and $modified 
 *                          have been filled, boolean false if no default template 
 *                          could be loaded
function my_default_template_handler_func($type$name, &$content, &$modifiedSmarty $smarty) {
    if (
false) {
// return corrected filepath
return "/tmp/some/foobar.tpl";
    } elseif (
false) {
// return a template directly
$content "the template source";
$modified time();
    } else {
// tell smarty that we failed
return false;



Smarty Template Engine