Dedecms列表页/内容页显示分页页码过多,缩短修改方法 适合5.6-5.7sp1
在Dedecms5.5,5.6 5.7sp1版本下测试修改有效
打开include/arc_archives.class.php文件
找到GetPagebreakDM //修改的是列表页
其中5.5-5.7sp1版本中,已经实现控制,列表页模板/templets/default/list_article.htm
{dede:pagelist listitem="info,index,end,pre,next,pageno,option" listsize="5"/}
显示11个分页,5*2=10; 其中5*2需要+1,这样分页两边刚好是对称的,如果你想显示10页,那样修改源程序。
这里的listsize="5"/ 就是显示列表页分页个数的参数,这样列表页可以不用修改源代码,只要修改参数即可实现。
但内容页不行,需要修改,找到for($i=1;$i<=$totalPage;$i++)共两处,修改的是内容页,在这句之上添加如下代码:
$total_list=11; //显示7个,3*2+1=7if($nowPage >= $total_list) {
$i = $nowPage-3; //前后6个,(7-1)/ 2=3
$total_list = $nowPage+3; //前后3个,(7-1)/ 2=3
if($total_list >= $totalPage)
$total_list = $totalPage;
}else{
$i=1;
if($total_list >= $totalPage)
$total_list = $totalPage;
}
再将for($i=1;$i<=$totalPage;$i++) 修改成for($i;$i<=$total_list;$i++)