DedeCMS实现静态列表支持键盘左右翻页

DedeCMS列表支持键盘翻上、下页功能会让用户体验翻页十分方便,SEO博客、图片站采用这样的功能将为网站带来更多的PV。开发上、下翻页功能并不复杂,结合DedeCMS,织梦58SEO整合了这个功能,并修正首页和第一页分页内容重复问题,以适合SEO优化。

支持键盘左右键翻页JS部分 <script type="text/javascript" src=http://www.dede58.com/"jquery.js"></script><!--引入jquery--> <script type="text/javascript"> $(document).ready(function(){ var prevpage=$("#pre").attr("href"); var nextpage=$("#next").attr("href"); $("body").keydown(function(event){ if(event.keyCode==37 && prevpage!=undefined) location=prevpage; if(event.keyCode==39 && nextpage!=undefined) location=nextpage; }); }); </script>  

控制的列表上、下页<a>标签如下

<a id="pre" href=http://www.dede58.com/"list_1_1">上一页</a> <a id="next" href=http://www.dede58.com/"list_1_3">下一页</a>  

但是DedeCMS默认的上、下页格式并没有单独调用的标签。下面是实现方法:

静态分页单独调用上下页链接

打开/include/arc.listview.class.php,修改静态分页列表部分(动态分页感兴趣的童鞋自己研究一下吧),找到

return $plist; } /** * 获取动态的分页列表  

前面加上

$plist = ''; if(preg_match('/index/i', $listitem)) $plist .= $indexpage; if(preg_match('/pre/i', $listitem)) $plist .= $prepage; if(preg_match('/pageno/i', $listitem)) $plist .= $listdd; if(preg_match('/next/i', $listitem)) $plist .= $nextpage; if(preg_match('/end/i', $listitem)) $plist .= $endpage; if(preg_match('/option/i', $listitem)) $plist .= $optionlist; if(preg_match('/info/i', $listitem)) $plist .= $maininfo;  

这样修改,按照自己的实际需求,可以单独调用首页链接、上一页链接、页数、下一页链接、尾页链接、分页信息等。调用方法

{dede:pagelist listitem="pre"/} {dede:pagelist listitem="next"} {dede:pagelist listitem="index"} {dede:pagelist listitem="option"} {dede:pagelist listitem="pageno"} {dede:pagelist listitem="info"}  

调用出来的HTML样式如下:

<p class="pages"> <ul> <li><a href=http://www.dede58.com/"list_3_1.html">上一页</li> <li class="thisclass"><a href=http://www.dede58.com/"list_3_2.html">2</a></li> <li><a href=http://www.dede58.com/"list_3_3.html">3</a></li> <li><a href=http://www.dede58.com/"list_3_2.html">下一页</a></li> <li><a href=http://www.dede58.com/"list_3_3.html">末页</a></li> <li><span class="pageinfo">共 <strong>3</strong>页<strong>11</strong>条</span></li> </ul> </p>  

实现键盘翻页需要绑定静态分页的上一页和下一页<a>标签的ID,默认是没有ID,打开include/arc.listview.class.php,找到

/** * 获取静态的分页列表  

继续往下,找到

$prepage.="<li><a href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";  

修改为

$prepage.="<li><a id='pre' href='".str_replace("{page}",$prepagenum,$tnamerule)."'>上一页</a></li>\r\n";  

找到

$nextpage.="<li><a href='".str_replace("{page}",$nextpagenum,$tnamerule)."'>下一页</a></li>\r\n";  

修改为

$nextpage.="<li><a id='next' href='".str_replace("{page}",$nextpagenum,$tnamerule)."'>下一页</a></li>\r\n";  

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/75ed19e089a01a749d81caaf37a525d4.html