我正在使用smarty 3。不在子文件夹中工作。
文件夹结构
WWW
->admin
->cache
->configs
->libs
->plugins
->templates
->templates_c
index.php
在index.php [根文件夹]中,它正常工作。
但在admin / index.php中,它无法正常工作,我收到错误。
这是我的代码
require_once('../libs/Smarty.class.php');
$smarty = new Smarty;
$smarty->display('index.tpl');
错误:
Fatal error: Uncaught exception 'SmartyException' with message 'Unable to load template file 'index.tpl'' in D:\wamp\www\libs\sysplugins\smarty_internal_templatebase.php on line 127
在阅读了一些stackoverflow答案后,我添加了$smarty->template_dir = "/templates";
,但我仍然收到同样的错误。
请帮帮我谢谢
答案 0 :(得分:1)
$smarty->template_dir
的内容是相对于实际目录的。 (如果是相对目录。)
这意味着如果您调用admin / index.php,则默认情况下会搜索admin / templates目录中的模板。 (没有添加任何东西。)
所以在admin目录中你应该使用:
$smarty->template_dir = "../templates";
或绝对目录。
否则我认为你应该阅读本页:
http://www.smarty.net/docs/en/variable.template.dir.tpl
特别是这部分:
建议不要将此目录放在Web服务器文档根目录下。