找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 1303|回复: 0

[分享] dede系统的pagebreak文章页面分页数量控制方法

[复制链接]
发表于 2018-7-22 20:49:06 | 显示全部楼层 |阅读模式 来自 中国–河南–新乡

dede系统,默认情况下是无法自定义分页标签数量的。
这个教程主要是改一下{dede:pagebreak/}这个标签,毫无疑问这是个文章内容分页的标签,但是有一个缺点,就是不管分多少页都分页都显示出来。

这样在某些情况下会严重影响页面的布局,而且文章页面过多全部显示出来的话 ,也会影响用户体验,因此这篇教程围绕dede分页数量无法控制的问题,以修改{dede:pagebreak/}标签为主进行讲解。


情况如下:


2144116053-0.webp
这是分了15页,假如更多呢,不感想象,自己辛苦花钱做出来的模板就完全走样了!

改后效果:

1
2144114252-1.webp

2
2144114053-2.webp

3
2144115322-3.webp

修改方法:

在include/arc.archives.class.php这个类,这个主是来解析文章内容的类
找到

function GetPagebreak($totalPage,$nowPage,$aid)

这是一个静态分页解析的一个方法,在这个方法里找到:for($i=1;$i<=$totalPage$i++)

在这个循环前面加上 :

if($totalPage>=8){//这个是在分页数量大于的情况下执行下面的语句
$totallist=7+$nowPage;//这里是要显示几页,如果是10页就写9
if($totallist>$totalPage){
$totallist=$totalPage;
}
$d=$nowPage;
$dqys=$totallist-($d-1);
if($dqys<8){
$d=$totalPage-7;
}
}else{
$totallist=$totalPage;
$d=1;
}

然后再改
for($i=1;$i<=$totalPage;$i++)为for($i=$d;$i<=$totallist;$i++)

这个是静态页面分页的修改,动态的和这个方法一样


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

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

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

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

关闭

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

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

GMT+8, 2024-12-23 13:49 , Processed in 0.050109 second(s), 9 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

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