最近在用shopex改一个东西。
在点击编辑模版的时候,再回来,发现页面空白了,什么也不显示。而且登录到系统的后台,发现应用的模版是空的。
很郁闷。。。。
于是各种查找问题。最后发现,是模版目录下有中文文件,例如index-备份.html
shopex 系统 再去读文件目录的时候,会向thems表里写入数据,不过没有处理好中文的问题。导致写入失败,在用户设置表里,这个模版保存数据失败,数据丢失了,造成了模版的卸载。
解决方法是,更改文件名为英文。当然,也可以修改里面的读文件方法。
ps:仅供参考。
在忙碌了一段时间之后,终于有时间来继续 修改这个问题了。。。
在windows系统下开发,复制备份同名文件时,经常系统自动创建 文件名+副本的形式来进行存储。
这时候,很容易误操作到 模版。所以 我修改了一下源代码。这样即使模版目录下有中文文件,也不会丢失模版,更不会自动的进行卸载。
主要修改内容如下:
代码路径:\core\model_v5\system\mdl.template.php
找到第598行左右,
function __getAllFiles($sDir,&$aFile,$loop=true){
if($rHandle=opendir($sDir)){
while(false!==($sItem=readdir($rHandle))){
$sItem = iconv(“GBK”,“utf-8”,$sItem);//增加此部分 对于编码的处理
if ($sItem!=‘.’ && $sItem!=‘..’ && $sItem!=‘’){
if(is_dir($sDir.‘/’.$sItem)){
if($loop){
$this->__getAllFiles($sDir.‘/’.$sItem,$aFile);
}
}else{
$aFile[]=$sDir.‘/’.$sItem;
}
}
}
closedir($rHandle);
}
}
如此okey.
(如果你感觉本文对您有帮助,请帮忙点击文章右侧的广告位,支持一下博主,谢谢)
转载请注明:苏demo的别样人生 » shopex小技巧:解决点击编辑模版,模版丢失的问题