昨天我在网站上工作,一切都很顺利。我正在移植它以使用Smarty。我有一个最后一页要更改,因为Smarty模板文件并没有真正做太多,所以不需要任何测试。我保存了我的工作,关闭了所有东西,然后离开了。今天早些时候,我检查了网站,发现它已经乱了。除了一个页面以外,它显示的模板不正确。我从来没有用我的服务器设置改变任何东西,所以这不是问题。之前完美运行的页面不再有效。我已经五次检查了我的工作,看不出有什么问题。为了不发布我所拥有的每一件事,我将分享您想要查看的我的任何代码。只需发表评论,我就会进行编辑。什么想法可能会出错?我正在使用Smarty 3.1.8和PHP 5.3.3。
答案 0 :(得分:0)
混乱正在发生,因为(几乎)所有模板都被命名为相同的东西。根据{{3}},我发现当Smarty编译模板时,它只考虑文件名,而不是该文件的完整路径。因此,您必须指定编译ID,为此目的最好是当前正在执行的脚本的父目录。如果仅使用__FILE__
常量,如果在同一目录中使用多个脚本来显示相同的模板,则可能最终会对同一模板进行多次编译。所以我使用dirname(__FILE__)
作为我的编译ID,应该为每个人工作。