解决DEDECMS文章分页太多(超过22页)无法显示全部页码
DEDECMS文章如果分页太多,一般超过23页或者24页就会导致页码导航显示不全或撑破网页的问题,下面提供三种不同的方法实现分页页码正常显示,非常的实用。
一、修改CSS样式表方法
找到page.css中
.viewbox .dede_pages ul li,.viewbox .dede_pages ul li a{ float:none; display:inline; }
修改为
.viewbox .dede_pages ul li,.viewbox .dede_pages ul li a{ float:left; display:inline; }
再找到下面的
.viewbox .dede_pages ul{ margin:0px auto; float:none; clear:both; overflow:hidden;
text-align:center; white-space:nowrap; }
把white-space:nowrap;这句删掉。
二、修改PHP文件方法
这个方法能让页码智能显示,可以让分页只显示8个页码,这样就不会撑破页面。打开include目录下的arc.archives.class.php文件,找到两个
for($i=1;$i<=$totalPage;$i++)
改为下面代码
$total_list=8; //只显示8个页码
if($nowPage >= $total_list) { $i = $nowPage-4; //显示4页
$total_list = $nowPage+4; //显示4页
if($total_list >= $totalPage)
$total_list = $totalPage; }else{ $i=1; if($total_list >= $totalPage)
$total_list = $totalPage; }
for($i;$i<=$total_list;$i++)
重新生成HTML文件,就OK了。
第三种方法:
修改 include\arc.archives.class.php 文件:
1、查找“function GetPagebreakDM($totalPage,$nowPage,$aid)”
(动态页面分页函数,大概在510行左右 )
A、往下几行找到“for($i=1;$i<=$totalPage;$i++)”,在上面插入
$total_list=13; //显示13个,6*2+1=13
if($nowPage >= $total_list) {
$i = $nowPage-6; //前后6个,(13-1)/ 2=6
$total_list = $nowPage+6; //前后6个,(13-1)/ 2=6
if($total_list >= $totalPage) $total_list = $totalPage;
}else{
$i=1;
if($total_list >= $totalPage) $total_list = $totalPage;
}
for($i;$i<=$total_list;$i++)
B、把“for($i=1;$i<=$totalPage;$i++)”,改成“for($i;$i<=$total_list;$i++)”
也就是把for($i=1;$i<=$totalPage;$i++) 改成
$total_list=13; //显示13个,6*2+1=13
if($nowPage >= $total_list) {
$i = $nowPage-6; //前后6个,(13-1)/ 2=6
$total_list = $nowPage+6; //前后6个,(13-1)/ 2=6
if($total_list >= $totalPage) $total_list = $totalPage;
}else{
$i=1;
if($total_list >= $totalPage) $total_list = $totalPage;
}
for($i;$i<=$total_list;$i++)
2、查找“function GetPagebreak($totalPage,$nowPage,$aid)”
(静态页面分页函数函数,大概在550行左右)
A、同上
B、同上
最新评论
不错的哦 学习了
因为恐惧吧~ 自己的恐惧导致任人摆布~
感觉真的好恐怖啊。什么时候能够改变这一的
中医,针灸,神奇啊
@dsj:不客气!
谢谢!
摊主比较有经验
不错,先下了
这么可怕。。。
看到都怕了。。。这罪受不了啊