织梦58

织梦dedecms内容页分页过多、过长问题佳解决方案

相关案例演示

***近由于我们织梦dedecms网站添加了图片栏目,小编一个图片就分一页这样的话,我们的内容页面的分页就很多,10几个分页一页显示比较难看,所以想到了用这个方法,感觉网友的分享 

今天在织梦dedecms论坛上看到很多咨询关于分页太多,导致页码导航全部显示而撑破网页或不太美观的问题,当然相信很多用织梦dedecms的站长朋友们多少也都遇到这样的问题,如下图所示: 

 

 

导致页码导航全部显示而撑破网页或不太美观的问题 

 

  那么该如何让页码智能显示,每页只固定显示当前页的前后几个呢?仔细想一下其实并不太难,首先我们需要知道解析分页的文件是哪一个,一般情况下dedecms此类文件都会放在include下,用查找的方式找了一下“上一页</a></li>”,不用说也知道这是为什么要找它,因为这是分页***的代码!很快我们查找到了arc.archives.class.php文件,但是其中有两处,仔细看了一下,***处是列表页用的,第二处是文章页用的,下边就来解决一下如何智能分页,本人asp学的还可以,php就差多了,在5.1的时候记的有个朋友写过,于是拿出来改了一下,修改方法如下: 

 

打开include/arc.archives.class.php文件 

 

dedecms5.1版本 

 

inc_archives_view.php 

 

dedecms 5.5 5.5是 

 

arc.archives.class.php 

 

找到GetPagebreakDM //修改的是列表页 

 

找到代码:for($i=1;$i<=$totalPage;$i++) (注意:共有两处,上面说了,改第二处,大约813行处,当然两个都可以修改,上面的是动态页面,下面的是静态页面)。 

 

 

 

 

复制代码代码如下: 

$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++)  

 

 

再将for($i=1;$i<=$totalPage;$i++) 修改成for($i;$i<=$total_list;$i++) 

找到GetPagebreak //修改的是内容页,修改方法同上 

 

接下来,保存arc.archives.class.php文件并上传。登陆dede后台,找到分页比较多的文章,重新生成HTML,再看一下分页的效果,如下图: 

 

 

 

看到效果了吧?就是不管有多少页,只显示当前页的前四与后四个页码,以上图为例,现在是第八页,只显示前边到四和后边到十二,赶快试一下吧,注意该方法只适合dedecms5.1、dedecms5.3和5.5哦。 


有问题可以加入织梦技术QQ群一起交流学习

本站vip会员 请加入织梦58 VIP②群 PS:加入时备注用户名或昵称

普通注册会员或访客 请加入织梦58 技术交流②群

作者:DEDE58.CC时间:2020-05-23
首先声明,只要是我们的vip会员所有源码均可以免费下载,不做任何限制(了解更多)
☉本站的源码不会像其它下载站一样植入大量的广告。为了更好的用户体验以后坚持不打水印
☉本站只提供精品织梦源码,源码在于可用,不在多!!希望在这里找到你合适的。
☉本站提供的整站织梦程序,均带数据及演示地址。可以在任一源码详情页查看演示地址
☉本站所有资源(包括源码、模板、素材、特效等)仅供学习与参考,请勿用于商业用途。
☉如有其他问题,请加网站客服QQ进行交流。
相关织梦教程
QQ在线咨询
双语模板 营销型模板 手机模板 响应式模板