查看: 104|回复: 0

[教程] dedecms 栏目列表分页链接优化

[复制链接]

3

主题

0

回帖

0

积分

热心网友

金币
0
阅读权限
220
精华
0
威望
0
贡献
0
在线时间
0 小时
注册时间
2010-6-14
发表于 2023-7-9 00:00:00 | 显示全部楼层 |阅读模式

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"; 


使用这种方法的前提是生成的栏目列表页面要放在栏目的根文件夹下。

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

相关侵权、举报、投诉及建议等,请发 E-mail:qiongdian@foxmail.com

Powered by Discuz! X5.0 © 2001-2026 Discuz! Team.

在本版发帖返回顶部