如果解决smarty模板重名(路径不同),导致的编译后的文件被覆盖的问题。

原创
2016-06-23 14:26:30 1036浏览

Smarty PHP

如果解决smarty模板重名(路径不同),导致的编译后的文件被覆盖的问题。
例如
文件1
//$obj_tpl是smarty对象$obj_tpl->setTemplateRoot(dirname(__FILE__));$obj_tpl->display("index.tpl");

文件2
//$obj_tpl是smarty对象$obj_tpl->setTemplateRoot(dirname(__FILE__));$obj_tpl->display("index.tpl");

文件1和文件2不在同一路径下。2个index.tpl文件内容也不同。
运行之后都编译文件到
/template_c/%%117/%%1172603085
导致文件1和文件2用浏览器打开后套用的是同一个index.tpl。
我想实现分别自动套用自己路径的index.tpl。这个如何解决呢?

回复讨论(解决方案)

给出你的目录结构

/mod/zhuanti0402/
包含
index.php
index.tpl

/mod/zhuanti0528/
包含
index.php
index.tpl

/template_c/这里边都是乱七八糟的
我没把php和tpl模板文件分开目录放是因为一共就只需要1个php,一个tpl。一页就全解决了。

那 smarty 在哪?怎么配置和调用的?

调用是这样的
$obj_tpl = JATUtility::UseSmarty();
这么说这个还有配置?

观摩怎么解决这个问题

这个问题我也遇到过,目前本人解决的方案:1、改文件名,不要用相同的文件名;2、每次使用smarty模板前重新定义 compile_dir

声明:本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn核实处理。