解决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、同上

引用地址:

post by donglaifu.com | 2010年7月14日 | 归档于 [dede]

发表评论

无觅相关文章插件,快速提升流量