如何解决dedecms内容页分页问题

2011-12-21 15:53:53长沙做网站严微

如何解决dedecms内容页分页问题


据很多织梦的粉丝们反应,织梦DEDECMS内容页和图片集页面如果分页太多就会出现错位。那么用织梦dedecms默认的内容分页标签{dede:pagebreak/}会把所有的分页都会显示出来,这样明显会撑破网站本身的模板,即使使用css控制可以解决这个撑破模板问题,用overflow:hidden就可以了,但是这样话叫访问者如何浏览接下来的网页呢?显然这不是一个解决办法。那么这个怎么解决呢?在dedecms官方论坛上看到一位高人给出解决方法,长沙做网站的严微站长亲自试验了,是可以使用的。

例如该文章内容共分了80个分页,通过修改代码可以显示为以下形式:

第一个分页情况是:共80页: 上一页12345678910下一页

在第10分页情况是: 共80页: 上一页67891011121314下一页

基本就是这个显示效果,只是遗憾没有 末页链接

具体修改如下,适用版本dede5.31和dede5.5,其他版本没有测试过

修改文件位置:include/arc.archives.class.php

第一步,查找“function GetPagebreakDM($totalPage,$nowPage,$aid)”(动态页面分页函数)再往下找到

for($i=1;$i<=$totalPage;$i++)

修改为

$total_list=10;
    if($nowPage >= $total_list) {
            $i = $nowPage-4;
            $total_list = $nowPage+4;
            if($total_list >= $totalPage) $total_list = $totalPage;
        }else{
               $i=1;
               if($total_list >= $totalPage) $total_list = $totalPage;
    }
    for($i;$i<=$total_list;$i++)

第二步,查找“function GetPagebreak($totalPage,$nowPage,$aid)”(静态页面分页函数),再往下找到

for($i=1;$i<=$totalPage;$i++)

改为

$total_list=10;
    if($nowPage >= $total_list) {
            $i = $nowPage-4;
            $total_list = $nowPage+4;
            if($total_list >= $totalPage) $total_list = $totalPage;
        }else{
               $i=1;
               if($total_list >= $totalPage) $total_list = $totalPage;
    }
    for($i;$i<=$total_list;$i++)


注意$total_list=10;为首个分页显示10个分页地址   规律自行了解 很实用
-4 +4   例如 在第一页 就显示1-10    在第10页 就显示 10 前后的4页,效果 6 7 8 9 10 11 12 13 14

特别注意

动态页面分页函数和静态页面分页函数都要改动,如果只改动态页面分页函数那只支持dede5.31版本,如果两个分页函数全改,那么不仅支持dede5.31也支持最新版dede5.5版本,推荐都改一改为好。

好了,已经较完美解决分页多的难题了,dede开源代码给我们修改一些核心代码很有帮助。dedecms不愧是网站建设利器。呵呵!织梦的粉丝之一“长沙做网站”,我们在加油。

上一篇:

怎样为dedecms列表页文章缩略图添加al

下一篇:

织梦Dedecms文章内容页的三面环绕的广 返 回

Copyright © 2009-2019 Ywcms.Com All Right Reserved.  湘ICP备16006489号-2