什么是 Smarty?
它何以用?
用例和工作流
语法比较
模板继承
最佳实践
速成课程
templateExists() — 检查指定模板是否存在
bool templateExists(string template);
它既可以接受文件系统上模板的路径,也可以接受指定模板的资源字符串。
示例 14.48. templateExists()
这个示例使用 $_GET['page']
来 {include}
内容模板。如果模板不存在,那么将显示一个错误页面。首先是 page_container.tpl
<html> <head><title>{$title}</title></head> <body> {include file='page_top.tpl'} {* include middle content page *} {include file=$content_template} {include file='page_footer.tpl'} </body>
还有 PHP 脚本
<?php // set the filename eg index.inc.tpl $mid_template = $_GET['page'].'.inc.tpl'; if( !$smarty->templateExists($mid_template) ){ $mid_template = 'page_not_found.tpl'; } $smarty->assign('content_template', $mid_template); $smarty->display('page_container.tpl'); ?>