Smarty输出空白页

2022-04-07 00:00:00 php smarty

已解决:模板文件中的错误

我的Smarty设置如下:

require_once 'smarty/Smarty.class.php';
$smarty = new Smarty();

$smarty->compile_dir = $compile_dir;
$smarty->template_dir = $tpl_dir;

这就是我现在需要的全部……我为另一个站点设置了与此完全相同的Smarty,并且它在同一服务器上运行良好。

var_dump($smarty)输出其所有公共变量,$smarty->template_exists("index.tpl")返回1,这都表明Smarty设置正确且工作正常,但$smarty->display("index.tpl")$output = $smarty->fetch("index.tpl"); echo $output;都输出空白页。而且index.tpl文件肯定包含HTML.

我是不是忘了什么步骤?

编辑:

添加

ini_set('display_errors', true);
error_reporting(E_ALL + E_NOTICE);

还为Smarty创建了配置目录。

并尝试$output = $smarty->fetch("index.tpl"); var_dump($output)

仍然是空白页。

如果我在$smarty->display("index.tpl")之前echo "foo";,它会输出该行,但如果我在它之后做,它不会输出它。


解决方案

我在模板文件中有额外的{foo.bar}(没有$)变量,这些变量应该在稍后的代码中实现,假设Smarty只是用空格替换这些变量,我认为不会是那些变量导致了问题,但删除它们后,它运行得很好。

相关文章