微信关注,获取更多

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

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. } 
  3. .dede_pages ul{ 
  4. float:left; 
  5. padding:12px 0px 12px 16px; 
  6. } 
  7. .dede_pages ul li{ 
  8. float:left; 
  9. fontfamily:Tahoma; 
  10. lineheight:17px; 
  11. marginright:6px; 
  12. border:1px solid #E9E9E9
  13. } 
  14. .dede_pages ul li a{ 
  15. float:left; 
  16. padding:2px 4px 2px; 
  17. color:#555; 
  18. display:block; 
  19. } 
  20. .dede_pages ul li a:hover{ 
  21. color:#690; 
  22. textdecoration:none; 
  23. padding:2px 4px 2px; 
  24. } 
  25. .dede_pages ul li.thisclass, 
  26. .dede_pages ul li.thisclass a,.pagebox ul li.thisclass a:hover{ 
  27. backgroundcolor:#F8F8F8; 
  28. padding:2px 4px 2px; 
  29. fontweight:bold; 
  30. } 

可以看到”.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. lineheight:18px;  
  7. padding:4px 10px;  
  8. marginright: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文件了。

评论

8+4=