Template类的构造函数没有任何参数,所有的功能都是通过调用其成员函数实现的。
$template = new Template();
// 设置模板标签.zblog内置的模板变量和sidebar都在该函数绑定
$template->MakeTemplateTags();
// 设置主题(主题id,也是主题的目录名)
$template->theme = 'theme_id';
/*
* 设置模板名称
* 如 'index' 将渲染设定主题的根目录下的 `template/index.php` 模板文件
* 如 'list/category' 将渲染theme_id主题的根目录下的 `template/list/category.php` 模板文件
*/
if ($template->hasTemplate($templateName)) {
$template->SetTemplate($templateName);
} else {
$template->SetTemplate('index');
}
// 还可以指定主题下模板文件的存放路径(默认template)
// 将渲染设定主题的根目录下的 `custom_dir/` 子目录下的文件
$template->template_dirname = 'custom_dir';
/*
* 设置编译输出目录
* 该成员必须调用,且应该在为`$template->theme`赋值后再调用
* 如果不传参或参数为空,将设置编译目录为相对服务器根目录的:
* 'zblog/zb_users/cache/compiled/{$theme}/'
* 如果自定义了成员template_dirname(不为空或'template'),目录为:
* 'zblog/zb_users/cache/compiled/$theme__$template_dirname/'
* 实在是没有理由改动它
*/
$template->SetPath();
// 还可以结合pagebar使用
$pagebar = new Pagebar($route);
$template->SetTags('pagebar', $pagebar);
// 最后输出即可
$template->Display();
除了基本的使用,还有模板的判断、获取、编译等函数
// 返回当前要调用的已经编译好的模板文件的路径
function GetTemplate($name) {}
// 设置当前要调用的已经编译好的模板文件的名称(不存在直接报错)
function SetTemplate($templatename) {}
// 判断编译模板文件是否存在 ,若调用SetTemplate应该先调用它
function HasTemplate($name) {}
/*
* 编译模板有以下函数,无需关心内部逻辑
* 以上配置完成后,调用`BuildTemplate()`可以清空已编译的模板,并重新编译
*
*/
BuildTemplate()
addNonexistentTags()
CompileFiles()
CompileFile($content)
标签:调用,template,zblogphp,编译,theme,Template,根目录,模板
From: https://www.cnblogs.com/chaihuibin/p/16907022.html