具有相同名称和Smarty的模板

时间:2009-05-18 11:53:40

标签: php templates smarty

我对Smarty有一个小问题...我在两个不同的目录中有两个不同的模板文件碰巧具有相同的名称。不幸的是Smarty让他们感到困惑。它使用最后一个进行更新,在其/ templates_c文件夹中创建一个编译文件,然后用它来显示页面。

这意味着这两个文件看起来都像最后一个要更新的文件,甚至认为它们完全不同。

我可以通过重命名其中一个文件或大概调用clear_compiled_tpl来解决这个问题。然而,我想知道是否有更好的方法。有没有办法配置Smarty在创建编译文件时注意模板文件所在的文件夹?

编辑:我正在使用Smarty v2.6.19

2 个答案:

答案 0 :(得分:3)

在输出模板之前尝试这一点,它实际上是对包含数千个模板文件的目录的优化,但可能会解决您的问题:

$smarty->use_sub_dirs = true;

答案 1 :(得分:0)

如果文件在同一个template_dir但不同的文件夹中,Smarty应该使不同的编译文件正常。如果您使用多个template_dir且只使用一个compile_dir,请务必为每个模板文件夹设置唯一的$ smarty-> compile_id。