DedeCMS列表頁支持鍵盤翻上、下頁功能會讓用戶體驗翻頁十分方便,SEO博客、圖片站采用這樣的功能將為網站帶來更多的PV。開發上、下翻頁功能并不復雜,結合DedeCMS,武林網SEO整合了這個功能,并修正首頁和第一頁分頁內容重復問題,以適合SEO優化。
<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"; |
新聞熱點
疑難解答