加入收藏 | 设为首页 | 会员中心 | 我要投稿 葫芦岛站长网 (https://www.0429zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 经验 > 正文

DEDE文章 dede pagebreak 翻页错位的处置方法

发布时间:2022-05-20 14:15:39 所属栏目:经验 来源:互联网
导读:最近在给公司做一个网站,期间又遇到了些新问题。话说,最值得自豪的是所有兼容问题一下就解决了,比如某些在IE6显示异常的一般是把padding换成margin就行了,总之,排版完公司网站是格外的轻松。 方法/步骤 1 这是点击下一页的时候,文章就错位了,顺手就审
          最近在给公司做一个网站,期间又遇到了些新问题。话说,最值得自豪的是所有兼容问题一下就解决了,比如某些在IE6显示异常的一般是把padding换成margin就行了,总之,排版完公司网站是格外的轻松。
 
         方法/步骤
1 这是点击下一页的时候,文章就错位了,顺手就审核元素(如果做网站你不用谷歌的审核元素那就真OUT了,火狐的审核元素太生硬) DEDE文章{dede:pagebreak/}翻页错位的解决方法
2 是的,只要点击下一页,文章内容就出现在层外面了,所以,任你折腾破脑袋也是调试不好这样式的。一开始我以为是{dede:pagebreak/}放错地方了,但是其实这标签是随便你怎么放的,都能控制文章翻页。搞了几天头都大了,后来只好不使用分页了,但是文章那是相当的长.....直到老板今天说这文章太长了。好吧,看来不得不搞了,又重复的折腾,看着这标签的时候突然想,会不会是文章里的div层导致的问题。
         一般我们从别的地方复制的文章是先复制到记事本,再复制到DEDE里面的,如果直接粘贴就会把样式也粘贴进来,这显示是不行的。但是从文本里面复制到DEDE的编辑框之后会发现分段不是用P标签分段,而是用div层。
 
3 文章里的div层就是这么来的,但是我们知道,这层是不会影响文章显示效果的,于是问题就来了,使用{dede:pagebreak/}标签的时候翻页之后的文章就会跑到文章层外面去了。后来把源码里面的文字又复制到记事本里面,把div替换成P,再粘贴回来就发现文章能正常显示了。
  DEDE文章{dede:pagebreak/}翻页错位的解决方法
4 解决一个问题的感觉真好,话说,我的博客现在都有好多兼容问题,文章下面的标签显示到右边去了,侧边栏的随便瞄瞄在IE里面会有问题,只是,这些在已有的代码上修改调兼容性我真的好郁闷..
总结:DEDE在使用{dede:pagebreak/}标签后文章里面不能有div层
{dede:pagebreak/}这个标签因为没有参数可写,所以,如果文章分页过多的话,会出现下面的情况
 
5 所以,只能去PHP里面改了,打开根目录下include文件夹里的 arc.archives.class.php 文件,查找  
 
for($i=1;$i<=$totalPage;$i++)  
 
把这一句替换成
 
$total_list=5;    
/* 数字5是显示多少页链接,根据自己的网站修改 */  
if($nowPage >= $total_list) {  
$i = $nowPage-2;    
/* 数字2是当前链接页向左显示2页链接,自己修改 */  
$total_list = $nowPage+2;  
/* 数字2是当前链接页向右显示2页链接,自己修改 */  
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++)  
 
把这一句替换成
 
$total_list=5;  
/* 数字5是显示多少页链接,根据自己的网站修改 */  
if($nowPage >= $total_list) {  
$i = $nowPage-2;  
/* 数字2是当前链接页向左显示2页链接,自己修改 */  
$total_list = $nowPage+2;  
/* 数字2是当前链接页向右显示2页链接,自己修改 */  
if($total_list >= $totalPage) $total_list = $totalPage;  
}else{  
$i=1;  
if($total_list >= $totalPage) $total_list = $totalPage;  
}  
for($i;$i<=$total_list;$i++)  
 
修改完成后就会这样显示
 
6 为什么要修改两处呢?因为一个是对于静态页面一个是对于动态页的,所以最好是都修改了。
以上,是在DEDE最新版V5.7正式版(2012-11-15)修改有效,低版本好像也是这么修改没错。

(编辑:葫芦岛站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!