DedeCMS伪静态设置使用$typedir后 列表分页无法同步的解决办法

这个问题不好描述,因为我们在织梦伪静态设置中,实现栏目链接多样化中,有两种方式,一种是把所有栏目的根目录层级文件名写死,例如:http://www.xxx.cn/cms/list-1.html

这种方法栏目的链接就没法实现多样化了,所有的栏目样式都是http://www.xxx.cn/cms/这样。

如果在伪静态设置中,我们在channelunit.helper.php中,把栏目的目录名称,采用调用当前《文件保存目录》名称的话,岂不是所有的栏目都会独特的样式。

例如:

SEO教程栏目链接样式为:http://www.xxx.cn/seo/

织梦二开栏目链接样式为:http://www.xxx.cn/cms/

使用$typedir调用出来的便是《文件保存目录》

所以我们在修改channelunit.helper.php文件中,给文章和栏目填写根目录文件名时就可以用到这个变量$typedir,这个变量的意思是《文件保存目录》名称,这个方法小冬在《织梦全站伪静态设置方法和教程,伪静态链接个性化处理方法》中有提到。

当然只改这里是不能实现栏目页(列表页)翻页的,所以也就需要我们继续修改其他php文件。

如果你是完全按照我给的教程操作的,那么你接下来可以这样操作,就能实现列表页链接多样化,列表页分页同样多样化。

如果使用了$typedir,没有操作以下步骤,栏目分页链接就错了。

找到/include/arc.listview.class.php文件

查找

$nowurls = preg_replace(
“/\-/”,
“.php?”, $purl);

 

替换为

$nowurls = preg_replace(
“/\-/”,
“.php?”, $typeid);

 

继续

查找

$geturl =
“tid=”.$this->TypeID.
“&TotalResult=”.$this->Total.
“&”;

 

(注意:这里是已经改过的,如果大家还没改这里,搜索时就不要复制完了,不然找不到。)

$geturl =
“tid=”.$this->TypeID.
“&TotalResult=”.$this->Total.
“&”;

$purl .=
‘?’.$geturl;

 

替换为

$geturl =
“list-“.$this->TypeID.
“&TotalResult=”.$this->Total.
“&”;

$purl .=
.$geturl;

 

这样就能实现你的列表链接翻页也能多样化了。