0

我昨天在一个网站上工作,一切都很好。我正在移植它以使用 Smarty。我有最后一页要更改,不需要任何测试,因为 Smarty 模板文件并没有真正做太多。我保存了我的工作,关闭了所有内容,然后离开了。今天早些时候,我检查了该网站,发现它已经失控了。它为除一页之外的所有页面显示不正确的模板。我从未对服务器设置进行任何更改,因此这不是问题。以前可以完美运行的页面不再有效。我已经对我的工作进行了五次检查,但看不出哪里出了问题。为了不发布我拥有的所有内容,我将分享您想查看的任何我的代码。只需发表评论,我将进行编辑。有什么想法可能会出错吗?我正在使用 Smarty 3.1.8 和 PHP 5.3.3。

现场直播

4

1 回答 1

0

发生混淆是因为(几乎)所有模板都被命名为相同的东西。根据这个线程,我发现当 Smarty 编译模板时,它只考虑文件名,而不是该文件的完整路径。因此,您必须指定一个编译 ID,为此最好将其作为当前执行脚本的父目录。如果只使用__FILE__常量,如果在同一个目录中使用多个脚本来显示同一个模板,最终可能会导致同一个模板的多次编译。所以我使用dirname(__FILE__)我的编译 ID,它应该适用于每个人。

于 2012-05-14T01:41:43.200 回答