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

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

WBOY
WBOYOriginal
2016-06-23 14:26:301298Durchsuche

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

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn