templateExists() - 检查模板是否存在
bool templateExists(string template);
检查的模板可以指定文件路径,或者一个模板资源。
Example 14.48. templateExists()
下面例子使用$_GET['page']
来{include}
指定的模板。
如果模板不存在,则会显示一个“page not found”的错误信息。
首先是page_container.tpl
的模板内容:
<html> <head><title>{$title}</title></head> <body> {include file='page_top.tpl'} {* 包含中间内容的模板 *} {include file=$content_template} {include file='page_footer.tpl'} </body>
然后在PHP脚本中:
<?php // 设置文件名,如 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'); ?>