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

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

WBOY
WBOYOriginal
2016-06-23 14:26:301297browse

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

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn