0

我正在使用 smarty 3 .it 在子文件夹中不起作用。

文件夹结构

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";,但我仍然遇到同样的错误。

请帮帮我谢谢

4

1 回答 1

1

的内容$smarty->template_dir是相对于实际目录的。(如果它是一个相对目录。)这意味着如果你调用一个 admin/index.php 那么它会默认搜索 admin/templates 目录中的模板。(不添加任何东西。)

所以在管理目录中你应该使用:

$smarty->template_dir = "../templates";

或绝对目录。

否则,我认为您应该阅读此页面:

http://www.smarty.net/docs/en/variable.template.dir.tpl

特别是这部分:

不建议将此目录放在 Web 服务器文档根目录下。

于 2013-10-13T19:46:31.643 回答