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

文档评论(0)