广

织梦CMS教程

  • 帝国cms教程
  • 织梦CMS教程
  • PHP CMS教程
  • ECSHOP教程
  • WordPress教程
  • Discuz教程
  • CMS学习

    Dedecms列表pagelist翻页按钮的首页和尾页样式的解决办法

    2018-04-02 20:50:25 次阅读 稿源:互联网
    广告

    Dedecms列表页翻页按钮使用的是{dede:pagelist listitem="index,end,pre,next,pageno" listsize="10"/}生成html后列表页第一页是

    1. <li >首页</li> 
    2. <li class="thisclass">1</li> 
    3. <li><a href='news_2.html'>2</a></li> 
    4. <li><a href='news_3.html'>3</a></li> 
    5. <li><a href='news_2.html'>下一页</a></li> 
    6. <li><a href='news_3.html'>末页</a></li> 
    7. 最后一页是: 
    8. <li><a href='news_1.html'>首页</a></li> 
    9. <li><a href='news_2.html'>上一页</a></li> 
    10. <li><a href='news_1.html'>1</a></li> 
    11. <li><a href='news_2.html'>2</a></li> 
    12. <li class="thisclass">3</li> 
    13. <li >末页</li> 

    默认模板的CSS样式表:

    1. .dede_pages{ 
    2. .dede_pages ul{ 
    3. float:left
    4. padding:12px 0px 12px 16px
    5. .dede_pages ul li{ 
    6. float:left
    7. font-family:Tahoma
    8. line-height:17px
    9. margin-right:6px
    10. border:1px solid #E9E9E9
    11. .dede_pages ul li a{ 
    12. float:left
    13. padding:2px 4px 2px
    14. color:#555
    15. display:block
    16. .dede_pages ul li a:hover{ 
    17. color:#690
    18. text-decoration:none
    19. padding:2px 4px 2px
    20. .dede_pages ul li.thisclass, 
    21. .dede_pages ul li.thisclass a,.pagebox ul li.thisclass a:hover{ 
    22. background-color:#F8F8F8
    23. padding:2px 4px 2px
    24. font-weight:bold

    可以看到”.dede_pages ul li a“和”.dede_pages ul li.thisclass“都有padding:2px 4px 2px;属性但是”.dede_pages ul li“却没有。在”.dede_pages ul li“没有padding:2px 4px 2px;属性时<li >首页</li>和<li >尾页</li>这两个按钮就会比别的按钮小,想想这种情况是多么难看。
    下面就对以上问题提供两种解决办法
    第一种方法通过CSS解决,这个解决办法就是不控制a标签只对li添加样式,代码如下:

    1. .dede_pages ul{  
    2. }  
    3. .dede_pages ul li{  
    4. float:left;  
    5. height:18px;  
    6. line-height:18px;  
    7. padding:4px 10px;  
    8. margin-right:5px;  
    9. border:1px #b9cdff solid;  
    10. }  
    11. .dede_pages .thisclass{  
    12. background:#e3ebfe;  
    13. }  

    可以看到代码非常简洁,但是对于用户体验来说不是很好,应为现在的按钮是li表现出来而不是a表现出来的,这样当用户点击在按钮却没点击到文字上就等于没点中。为了更好的用户体验我们需要另一种解决办法。
    第二种方法修改dede:pagelist的相关文件arc.listview.class.php在include文件夹下:
    打开arc.listview.class.php找到如下代码:

    1.  //获得上一页和主页的链接 
    2.         if($this->PageNo != 1) 
    3.         { 
    4.             $prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>"; 
    5.             $indexpage="<li><a href='".str_replace("{page}",1,$tnamerule)."'>首页</a></li>"; 
    6.         } 
    7.         else 
    8.         { 
    9.             $indexpage="<li >首页</li>"
    10.         } 
    11.         //下一页,未页的链接 
    12.         if($this->PageNo!=$totalpage && $totalpage>1) 
    13.         { 
    14.             $nextpage.="<li><a href='".str_replace("{page}",$nextpagenum,$tnamerule)."'>下一页</a></li>"; 
    15.             $endpage="<li><a href='".str_replace("{page}",$totalpage,$tnamerule)."'>末页</a></li>"; 
    16.         } 
    17.         else 
    18.         { 
    19.             $endpage="<li >末页</li>"
    20.         } 
    21. 分别修改$indexpage="<li >首页</li>";$endpage="<li >末页</li>";为$indexpage="<li class="thisclass">首页</li>";$endpage="<li class="thisclass">末页</li>";修改好之后{dede:pagelist listitem="index,end,pre,next,pageno" listsize="10"/}生成的html代码如下: 
    22. <li class="thisclass">首页</li> 
    23. <li class="thisclass">1</li> 
    24. <li><a href='news_2.html'>2</a></li> 
    25. <li><a href='news_3.html'>3</a></li> 
    26. <li><a href='news_2.html'>下一页</a></li> 
    27. <li><a href='news_3.html'>末页</a></li> 

    第二种方法更简单还增加了用户体验度
    PS:使用第二种方法就不需要修改CSS文件了。

    一起学吧部分文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与一起学吧进行文章共享合作。

    广告
    广告
    广告