Get Smarty

Donate

Paypal

Smarty Icon

You may use the Smarty logo according to the trademark notice.

Smarty Template Engine Smarty Template Engine

For sponsorship, advertising, news or other inquiries, contact us at:

Sites Using Smarty

Advertisement

$default_template_handler_func

提供一个回调函数,这个回调函数将在从资源里面无法获取到模板的时候调用。

Note

该设置一般在当模板是文件资源的时候起作用。 当找不到资源自身的时候,该设置不会调用,而是会抛出SmartyException异常。

Example 13.5. $default_template_handler_func


<?php

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

/**
 * 默认模板处理函数
 *
 * 当Smarty的文件资源无法载入需要的文件时调用。
 * 
 * @param string   $type     资源类型 (如:"file", "string", "eval", "resource")
 * @param string   $name     资源名称 (如:"foo/bar.tpl")
 * @param string  &$content  模板的内容
 * @param integer &$modified 模板修改时间
 * @param Smarty   $smarty   Smarty实例
 * @return string|boolean   返回文件路径或布尔值,
 * 布尔值true表示$content 和 $modified已经赋值,
 * 布尔值false表示没有默认模板可供载入。
 */
function my_default_template_handler_func($type, $name, &$content, &$modified, Smarty $smarty) {
    if (false) {
        // 返回文件路径
        return "/tmp/some/foobar.tpl";
    } elseif (false) {
        // 直接返回模板内容
        $content = "the template source";
        $modified = time();
        return true;
    } else {
        // 告诉Smarty无法找到模板
        return false;
    }
}

?>

  

Comments
No comments for this page.

Advertisement