DedeCMS实现静态列表支持键盘左右翻页[织梦网站模板使用教程]

阅读  ·  发布日期 2019-05-27 08:29  ·  admin

 DedeCMS实现静态列表支持键盘左右翻页[织梦网站模板使用教程] 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";