您当前位置:
  1. 首页
  2. 网页技巧
  3. dedecms列表分页错位的解决方案

dedecms列表分页错位的解决方案

        在仿DEDECMS的模板的时候,经常会碰到一个情况,就是我们要仿的网站的列表分页明明是显示正常的,等我们使用了DEDECMS的分页列表标签后就显示不正常了,通常不是显示错乱就是竖着显示。

        这是什么原因呢?该怎么解决呢?

        其实这个问题很简单,看最后的源代码就知道。因为DEDECMS的分页标签是用<li>在CSS里定义了的,所以如果我们仿的网站的分页标签的<li>之和DEDECMS的值不一样的话,最后就会显示错乱。要解决的话,如果会CSS的,可以直接改CSS来解决。如果不会CSS,就来看我的解决办法吧。例如:

以下是DEDECMS的列表分页调用代码:

<div class="pages">
{dede:pagelist listitem="info,index,end,pre,next,pageno" listsize="5"/}</div> 这段代码在前台默认的显示效果如下:

<div class="pages">  
<span class="pageinfo">共 <strong>36</ strong>页<strong>704</ strong>条</span> <li>首页</ li>
  <li class="thisclass">1</ li>
<li><a href='list_6_2.html'>2</a></ li>
                          。
……(其余省略)       

而我现在要仿的网站的列表分页代码是下面这样的:

<div class="pages">        
共2页39条 <strong>首页</strong>
  <strong>1</strong>
<a href='list_42_2.html'>2</a>
<a href='list_42_2.html'>下一页</a>
<a href='list_42_2.html'>末页</a>

  </div>
        这样一来最后生成后显示的效果就会是错乱的或竖着显示。看上面的代码就知道,如果我们要解决这个问题就需要将DEDECMS里的分页列表中的<li>删除就可以了。于是,我进入include / arc.listview.class.php 文件,找到了第766行到848行上显示列表页的分页代码,将<li>删除,最后解决了这个问题。

        注意,我这里要仿的站的分页代码是没有<li>的,所以我将<li>删除;如果你要仿的网站的分页列表是有<li>而<li>的值不一样,那你需要在include / arc.listview.class.php文件里将<li>值改成一样即可。

        内容页分页{dede:pagebreak/} 和列表页分页一样,对应要修改的文件是:include / arc.archives.class.php   。

        不过这样的修改方法是修改了DEDECMS的源文件,如果下次要迁移空间不记得备份这两个文件的话,又会显示错乱;所以为了长远考虑这也不是最好的解决办法,如果我找到了更好的解决办法会及时发布出来。也希望有更好解决方法的朋友分享你的方法。

to "dedecms列表分页错位的解决方案"

    • 谢谢分享,升级之后出现这个问题真是郁闷

      回复

发表评论

validcode