找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1348|回复: 0

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

[复制链接]
发表于 2018-2-11 09:00:01 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡
在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)”(动态页面分页函数)再往下找到
  1. for($i=1;$i<=$totalPage;$i++)
复制代码

修改为
  1. $total_list=10;
  2. if($nowPage >= $total_list) {
  3. $i = $nowPage-4;
  4. $total_list = $nowPage+4;
  5. if($total_list >= $totalPage) $total_list = $totalPage;
  6. }else{
  7. $i=1;
  8. if($total_list >= $totalPage) $total_list = $totalPage;
  9. }
  10. for($i;$i<=$total_list;$i++)
复制代码

第二步,查找“function GetPagebreak($totalPage,$nowPage,$aid)”(静态页面分页函数),再往下找到
  1. for($i=1;$i<=$totalPage;$i++)
复制代码

改为
  1. $total_list=10;
  2. if($nowPage >= $total_list) {
  3. $i = $nowPage-4;
  4. $total_list = $nowPage+4;
  5. if($total_list >= $totalPage) $total_list = $totalPage;
  6. }else{
  7. $i=1;
  8. if($total_list >= $totalPage) $total_list = $totalPage;
  9. }
  10. 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版本,推荐都改一改为好。
好了,已经较完美解决分页多的难题了,dede开源代码给我们修改一些核心代码很有帮助。

发帖求助前要善用【论坛搜索】功能,那里可能会有你要找的答案;

如何回报帮助你解决问题的坛友,好办法就是点击帖子下方的评分按钮给对方加【金币】不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号

关闭

站长推荐上一条 /1 下一条

QQ|侵权投诉|广告报价|手机版|小黑屋|西部数码代理|飘仙建站论坛 ( 豫ICP备2022021143号-1 )

GMT+8, 2024-11-27 01:54 , Processed in 0.048667 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表