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

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

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

 

情况如下:


dede系统的pagebreak文章页面分页数量控制方法 - 第1张  | 前端开拓者
这是分了15页,假如更多呢,不感想象,自己辛苦花钱做出来的模板就完全走样了!

改后效果:

1
dede系统的pagebreak文章页面分页数量控制方法 - 第2张  | 前端开拓者

2
dede系统的pagebreak文章页面分页数量控制方法 - 第3张  | 前端开拓者

3
dede系统的pagebreak文章页面分页数量控制方法 - 第4张  | 前端开拓者

修改方法:

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

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