我对Smarty有一个小问题...我在两个不同的目录中有两个不同的模板文件碰巧具有相同的名称。不幸的是Smarty让他们感到困惑。它使用最后一个进行更新,在其/ templates_c文件夹中创建一个编译文件,然后用它来显示页面。
这意味着这两个文件看起来都像最后一个要更新的文件,甚至认为它们完全不同。
我可以通过重命名其中一个文件或大概调用clear_compiled_tpl
来解决这个问题。然而,我想知道是否有更好的方法。有没有办法配置Smarty在创建编译文件时注意模板文件所在的文件夹?
编辑:我正在使用Smarty v2.6.19
答案 0 :(得分:3)
在输出模板之前尝试这一点,它实际上是对包含数千个模板文件的目录的优化,但可能会解决您的问题:
$smarty->use_sub_dirs = true;
答案 1 :(得分:0)
如果文件在同一个template_dir但不同的文件夹中,Smarty应该使不同的编译文件正常。如果您使用多个template_dir且只使用一个compile_dir,请务必为每个模板文件夹设置唯一的$ smarty-> compile_id。