Đối với 1 số trang blog hay webblog có số lượng comment vượt hơn 200 nhận xét thì thường phát sinh 1 số vấn đề ở comment vì mặc định comment form của blogger chỉ load 200 nhận xét. Đề giải quyết vấn đề này thì phân trang cho comment là một phương án giải quyết khá hữu hiệu.
1. Chèn đoạn css sau phía trên thẻ ]]></b:skin>
.commentnavi{clear:bold; margin:10px 0;}2. Tìm đoạn code sau: (có 2 đoạn nhưng chỉ làm việc với đoạn ở trên)
.commentnavi .page-first{float:left; margin-right:5px}
.commentnavi .page-items{float:right}
.commentnavi .page-number, .commentnavi .page-next{margin-left:5px}
.commentnavi .page-number, .commentnavi .page-prev{margin-right:5px}
.commentnavi .selected{box-shadow:0 0 3px 1px #333; padding: 5px}
<h4><data:post.commentLabelFull/>:</h4>Chèn đoạn code sau vào phía dưới đoạn code tìm được ở trên.
<b:if cond='data:post.numComments > 200'>Save Template lại là hoàn thành.
<div class='commentnavi' id='commentnavi'/>
<script type='text/javascript'>
var numcomments='<data:post.numComments/>';
//<![CDATA[
var current;numshowpage=3;prev='«';next='»';pagefirst='Page';pageitems='Comments';dw='';urlactivepage=location.href;numpage=parseInt((numcomments-1)/200)+1;urlpost=urlactivepage.split('.html');urlpost=urlpost[0]+'.html';if(urlactivepage.indexOf('?commentPage=')==-1){current=1}else{current=parseInt(urlactivepage.substring(urlactivepage.indexOf('?commentPage=')+13))}var integer=parseInt(numshowpage/2);if(integer==numshowpage-integer){numshowpage=integer*2+1}first=current-integer;if(first<1){first=1}last=first+numshowpage-1;if(last>numpage){last=numpage;if((last-first+1)<numshowpage){first=last-numshowpage+1;if(first<1){first=1}}}if(current*200<=numcomments){dw+='<span class="page-items">'+(((current-1)*200)+1)+' - '+(current*200)+' / '+numcomments+' '+pageitems+'</span>'}else{if((((current-1)*200)+1)==numcomments){dw+='<span class="page-items">'+numcomments+' / '+numcomments+' '+pageitems+'</span>'}else{dw+='<span class="page-items">'+(((current-1)*200)+1)+' - '+numcomments+' / '+numcomments+' '+pageitems+'</span>'}}dw+='<span class="page-first">'+pagefirst+'</span>';if(current>1){dw+='<a class="page-prev" href="'+urlpost+'?commentPage='+(current-1)+'#comments">'+prev+'</a>'}if(first>1){dw+='<a class="page-number" href="'+urlpost+'?commentPage=1#comments">1</a>'}if(first>2){dw+='<span class="gap">…</span>'}for(i=first;i<=last;i++){if(i==current){dw+='<span class="selected">'+i+'</span>'}else{dw+='<a class="page-number" href="'+urlpost+'?commentPage='+i+'#comments">'+i+'</a>'}}if(last<numpage-1){dw+='<span class="gap">…</span>'}if(last<numpage){dw+='<a class="page-number" href="'+urlpost+'?commentPage='+numpage+'#comments">'+numpage+'</a>'}if(current<numpage){dw+='<a class="page-next" href="'+urlpost+'?commentPage='+(current+1)+'#comments">'+next+'</a>'}var a=document.getElementById('commentnavi');a.innerHTML=dw;
//]]>
</script>
</b:if>
Chú ý:
numshowpage=3; là số trang hiển thị.Thủ thuật này mình edit lại từ phân trang comments trên blog duypham. Đã chỉnh sửa một số code. Hoạt động tốt trên thread comments của blogger.
Phân trang chỉ hiện khi bài viết có trên 200 nhận xét, nên nếu bài viết dưới 200 nhận xét thì đừng hỏi sao không thấy.
Nguồn bài viết: Duy Pham Blog
Post a Comment
Chú ý:
- Nhận xét nên viết tiếng việt có dấu.
- Cảm ơn bạn đã đọc bài viết tại www.hannavn.com