如何使用smarty包含文件? 我用这个功能: {include file =“modules / news.tpl”}
但显示错误:
警告:Smarty错误:无法读取资源:“modules / news.tpl”
文件存在并位于modules / news.tpl目录中。
由于
答案 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.tpl和http://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中运行。
感谢。