当前位置:首页 > 技术教程 > dede技术教程 > 正文内容

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

访客4年前 (2020-11-16)dede技术教程3667

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

支持键盘左右键翻页JS部分

<script type="text/javascript" src="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="list_1_1">上一页</a><a id="next" href="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="list_3_1.html">上一页</li>  <li class="thisclass"><a href="list_3_2.html">2</a></li>  <li><a href="list_3_3.html">3</a></li>  <li><a href="list_3_2.html">下一页</a></li>  <li><a href="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";
声明:
本站大部分资源收集于网络,只做学习和交流使用,版权归原作者所有。
若您需要使用非免费的软件或服务,请购买正版授权并合法使用!
本站发布的内容若侵犯到您的权益,请联系站长删除,我们将及时处理!

分享给朋友:

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。