2009-05-18 63 views
2

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

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

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

编辑:我使用Smarty的v2.6.19

+1

你在用什么版本的smarty? – karim79 2009-05-18 11:58:00

回答

3

输出你的模板之前,试试这个,它实际上是与成千上万的模板文件目录的优化,但可能解决您的问题:

$smarty->use_sub_dirs = true; 
+0

这似乎工作,谢谢 – 2009-05-18 14:38:05

0

如果这些文件位于相同的template_dir但是不同的文件夹中,Smarty应该使不同的编译文件正常工作。如果您使用多个template_dir且只有一个compile_dir,请确保为每个模板文件夹设置一个唯一的$ smarty-> compile_id。