V5.5默认是a ,相当令人不爽,于是在后台将文档HTML默认保存路径修改成 html,可是一点反应都没有。


Data/config.cache.inc.php下的缓存也更新了一下,里面的$cfg_arcdir的值也变成了’/html’,可是还是没反应。于是慢慢找他是怎么生成文件名的。


 


1Aritcl_add.php 225 $artUrl = MakeArt($arcID,true,true);


这个函数在 member/inc/inc_archives_functions.php 217行定义的。


发现


$arc = new Archives($aid);


$reurl = $arc->MakeHtml();


2.再找到 Archives,include/ arc.archives.class.php文件里,295行找到了 MakeHtml(),发现他的功能就是产生html文件。


//分析要创建的文件名称


$filename = GetFileNewName(


                            $this->ArcID,$this->Fields[‘typeid’],$this->Fields[‘senddate’],


                            $this->Fields[‘title’],$this->Fields[‘ismake’],$this->Fields[‘arcrank’],


                            $this->TypeLink->TypeInfos[‘namerule’],$this->TypeLink->TypeInfos[‘typedir’],$this->Fields[‘money’],$this->Fields[‘filename’]


                   );


3.得,再去找 这个函数,在include/channelunit.func.php 70行,


发现73


$articlename = GetFileName($aid,$typeid,$timetag,$title,$ismake,$rank,$namerule,$typedir,$money,$filename);


4.在100行找到这个函数GetFileName()


122 $articleDir = MfTypedir($typedir);


5.再找 MfTypedir()也在当前文件下,296行,


//栏目目录规则


function MfTypedir($typedir)


{


         if(eregi(“^http:”,$typedir)) return $typedir;


         $typedir = str_replace(“{cmspath}”,$GLOBALS[‘cfg_cmspath’],$typedir);


         $typedir = ereg_replace(“/{1,}”,”/”,$typedir);


         return $typedir;


}


发现上当了,这个函数什么P事都没干,就是替换两个字符,跳来跳去还没找到原因,经过一步一步输出,发现问题在第2步,$this->TypeLink->TypeInfos[‘typedir’]这个变量里包含了静态目录名a的信息,于是找 TypeLink,这个类在include/typelink.class.php里,$this->TypeInfos = $this->dsql->GetOne($query);


至此终于明白了,那个目录改了之后没有效果的原因了。打开arctype表看一下typedir字段的值就明白了{cmspath}/a/xinshoujiaocheng ,原来在添加分类的时候,他已经把目录名写到数据库里了,难怪怎么改也没有用。


{cmspath}/a/hulianwang



现在就好办了,刷新数据库,要么自己手动去后来改。

Comments are closed.

Post Navigation