评论

收藏

[织梦CMS] dedecms 栏目列表分页链接优化

建站程序 建站程序 发布于:2021-07-27 19:36 | 阅读数:352 | 评论:0

DEDE默认栏目列表分页链接如:
<li><a href='list_4_1.html'>首页</a></li>
<li><a href='list_4_3.html'>上一页</a></li>
<li><a href='list_4_1.html'>1</a></li>
<li><a href='list_4_2.html'>2</a></li>
<li><a href='list_4_3.html'>3</a></li>
<li class="thisclass">4</li>
<li><a href='list_4_5.html'>5</a></li>
<li><a href='list_4_5.html'>下一页</a></li>
<li><a href='list_4_5.html'>末页</a></li>
这种链接方式其实并不十分合理,比如这是http://www.abc.com/abc/这个栏目的列表分页链接,下面的链接方式才更合理:
<li><a href='/abc/'>首页</a></li>
<li><a href='list_4_3.html'>上一页</a></li>
<li><a href='/ab/'>1</a></li>
<li><a href='list_4_2.html'>2</a></li>c
<li><a href='list_4_3.html'>3</a></li>
<li class="thisclass">4</li>
<li><a href='list_4_5.html'>5</a></li>
<li><a href='list_4_5.html'>下一页</a></li>
<li><a href='list_4_5.html'>末页</a></li>
1.找到\include\arc.listview.class.php这个文件,将$typedir= ereg_replace('^(.*)/','',$this->Fields['typedir']);这种代码添加到“//获得上一页和主页的链接”前;
2.找到$indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>首页</a></li>\r\n";将其改为$indexpage="<li><a href='/".$typedir."/'>首页</a></li>\r\n";
3.找到$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";改为:
if($prepagenum==1) 
{ 
$prepage.="<li><a href='/".$typedir."/'>上一页</a></li>\r\n"; 
} 
else 
{ 
$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n"; 
} 
4.找到$listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n";改为: 
if($j==1) 
{ 
$listdd.="<li><a href='/".$typedir."/'>1</a></li>\r\n"; 
} 
else 
{ 
$listdd.="<li><a href='".str_replace("{page}",$j,$tnamerule)."'>".$j."</a></li>\r\n"; 
}
使用这种方法的前提是生成的栏目列表页面要放在栏目的根文件夹下。

关注下面的标签,发现更多相似文章