聪明,包括tpl文件

时间:2010-11-27 12:18:35

标签: php smarty

如何使用smarty包含文件? 我用这个功能: {include file =“modules / news.tpl”}

但显示错误:

警告:Smarty错误:无法读取资源:“modules / news.tpl”

文件存在并位于modules / news.tpl目录中。

由于

4 个答案:

答案 0 :(得分:8)

更改

{include file="modules/news.tpl"}

{include file="./modules/news.tpl"}

这至少会确定您当前的位置。

答案 1 :(得分:5)

虽然我不是100%肯定在这里,但我相信Smarty通过查看template_dir配置变量来解析你的包含。

请参阅文档:http://www.smarty.net/docs/en/variable.template.dir.tplhttp://www.smarty.net/docs/en/language.function.include.tpl

答案 2 :(得分:2)

不幸的是,Smarty需要绝对路径。我们通常在PHP中设置$ docroot环境变量并将其解析为模板,以便我们可以使用它:

{include file =“$ docroot / modules / news.tpl”}

我理解这是一个重复的请求,要求smarty能够在与当前路径相同的路径中包含模板。

答案 3 :(得分:0)

你必须将这个文件包含在php(动作)文件中,然后它也可以在tpl中运行。

感谢。