织梦DEDE中内容页分页数目太多时隐藏方法

在dede程序的文章或图集模型,内容页分页过多,假如分页80页,那么dede默认的内容分页标签{dede:pagebreak/}会把所有的分页都显示出来,这样会撑破网页模板,即使使用css控制可以解决这个撑破模板问题,用overflow:hidden就可以了

但是这样话叫访问者如何浏览接下来的网页呢?显然这不是一个解决办法。

在dedecms官方论坛上看到一个高人给出解决方法,自己亲自试验,完全可行。

例如:共分了50个分页,通过修改代码可以显示为以下形式第一个分页情况是:共50页: 上一页12345678910下一页在第10分页情况是: 共50页: 上一页67891011121314下一页基本就是这个显示效果.

微站博客在dedecms 5.7sp1中已经测试可用下面来具体说一下解决方法:

修改文件位置: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.6也支持最新版dede5.7版本,推荐都改一改为好。

好了,已经较完美解决分页多的难题了。

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。

给TA打赏
共{{data.count}}人
人已打赏
个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索