比如//$obj_tpl是smarty对象
$obj_tpl->setTemplateRoot(dirname(__FILE__));
$obj_tpl->display("index.tpl");然后我有2个目录,每个目录都有index.tpl,php文件和index.tpl在一起。也就是说有2套模板。
我发现第二个目录读的是第一个目录的index.tpl。
我用了$obj_tpl->caching=false;
$obj_tpl->clear_all_cache();//清除所有缓存
$obj_tpl->clear_cache('index.tpl');//清除index.tpl的缓存也不管用。
dirname(__FILE__)的值每个目录不一样。
难道不能用同名的模板文件吗?路径是不同的。Smarty
$obj_tpl->setTemplateRoot(dirname(__FILE__));
$obj_tpl->display("index.tpl");然后我有2个目录,每个目录都有index.tpl,php文件和index.tpl在一起。也就是说有2套模板。
我发现第二个目录读的是第一个目录的index.tpl。
我用了$obj_tpl->caching=false;
$obj_tpl->clear_all_cache();//清除所有缓存
$obj_tpl->clear_cache('index.tpl');//清除index.tpl的缓存也不管用。
dirname(__FILE__)的值每个目录不一样。
难道不能用同名的模板文件吗?路径是不同的。Smarty
你缓存都没开启,你清除什么呢?
smarty 不会缓存模板,因为模板是用户的,他无权干预
smarty 只是读取模板文件,并将其编译成 php 文件供实际运行时使用不太清楚你“有2个目录”的含义
如果这“2个目录”是两个项目,那么这“2个目录”中就应该分别有 template 和 template_c 子目录
如果这“2个目录”是表示同一项目的不同样式,那么这“2个目录”都应该放在 template 子目录中
使用时应带上目录名
$obj_tpl->display("样式2/index.tpl");
就是一个站点下的2个子目录啊。
我看只有一个template_c 目录
$obj_tpl->display(dirname(__FILE__)."/index.tpl");
确实管用