聪明不在子文件夹中工作

时间:2013-10-13 07:51:28

标签: smarty smarty3

我正在使用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";,但我仍然收到同样的错误。

请帮帮我谢谢

1 个答案:

答案 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服务器文档根目录下。