Showing posts with label Blogspot Navigation. Show all posts
Showing posts with label Blogspot Navigation. Show all posts

Sunday, June 24, 2012

Numbered Page Navigation Phân trang cho blogspot trên 3000 bài



Numbered Page Navigation Tạo phân trang cho blogspot
Page Navigation là một tiện ích không thể thiếu đối với các Pro Blog. Không chỉ điều hướng dễ dàng hơn so với phân trang mặc định của Blogspot, nó còn làm cho Blog của bạn trông bắt mắt và chuyên nghiệp hơn trong mắt đọc giả.

Page Navigation có nhiều phiên bản. Nhưng trong quá trình thực nghiệm, cũng như tham khảo những ý kiến phản hồi của các Blogger trong và ngoài nước,Theo đánh giá của namkna  thì tiện ích Page Navigation do Abu-Farhan phát triển là hoàn thiện nhất, do khắc phục được các nhược điểm “chết người” như :
  1. Chỉ hỗ trợ tên miền .blogspot.com
  2. Chỉ hỗ trợ tối đa 500 bài viết
  3. Phải đọc tất cả các JSON file và vì vậy, nếu blog bạn có quá nhiều bài viết thì thời gian tải trang sẽ rất “khủng”
  4. Tốn nhiều thời gian để tính toán tất cả các bài viết hiện có.
  5. Phải can thiệp vào script để chèn Blog ID…v.v…
Lần trước Namkna đã giới thiệu Numbered Page Navigation dạng trượt, hôm nay namkna sẽ giới thiệu dạng tĩnh, và tất cả chúng đều do Abu-Farhan phát triển:


Ảnh minh họa:
Numbered Page Navigation Tạo phân trang cho blogspot - http://namkna.blogspot.com/
Cách tiến hành:

   1- Đăng nhập vào Blog
   2- Vào thiết kế
   3- Chọn Chỉnh sử HTML (Không cần mở rộng tiện ích mẫu)
   4- Thêm đoạn code sau vào trước thẻ  ]]></b:skin> .
.showpageNum a {
padding: 3px 8px;
margin:0 4px;
text-decoration: none;
border:1px solid #999;
-webkit-border-radius:3px;-moz-border-radius:3px;
background: #ddd;
}

.showpageOf {
margin:0 8px 0 0;
}
.showpageNum a:hover {
border:1px solid #888;
background: #ccc;
}

.showpagePoint {
color:#fff;
text-shadow:0 1px 2px #333;
padding: 3px 8px;
margin: 2px;
font-weight: 700;
-webkit-border-radius:3px;-moz-border-radius:3px;
border:1px solid #999;
background: #666;
text-decoration: none;
}
   5. Chèn đoạn code sau vào trước thẻ đóng </body>
<script type='text/javascript'>
var home_page=&quot;/&quot;;
var urlactivepage=location.href;
var postperpage=8;
var numshowpage=4;
var upPageWord ='Prev';
var downPageWord ='Next';
</script>
<script src='http://scriptabufarhan.googlecode.com/svn/trunk/pagenaviv202-min.js' type='text/javascript'></script>
   6. Tìm tất cả các đoạn code có dạng :
'data:label.url'
- Và thay thế nó thành :
'data:label.url + &quot;?&amp;max-results=8&quot;'
- Với 8 là số bài viết sẽ hiển thị trên mỗi trang
* Lưu ý : giá trị max-result phải bằng giá trị postperpage (8) trong đoạn code ở bước 3
5. Lưu lại Lưu mẫu
-P/s: Mẫu này bị tác giả chèn chữ ký dưới mỗi phân trang, bạn nào muốn bỏ thì tải file javarscip bên dưới về Uload lên host google code và thay vào bên trên nha..
http://dl.dropbox.com/u/70549761/Navigation/namkna-blogspot-com/pagenavi203.js
Chúc thành công!
Chủ đề:

Phân trang cho nhận xét với bài trên 200 nhận xét



Phân trang cho nhận xét với bài trên 200 nhận xét - http://namkna.blogspot.com/
Sau khi Comments phân cấp được Blogger đưa vào hoạt động thì hệ thống phân trang cho comments cũ đã không còn được hỗ trợ. Với những bài viết có trên 200 nhận xét nếu như không dùng Comments phân cấp của Blogger thì việc theo dõi những nhận xét này sẽ trở nên khó khăn. Bài viết này sẽ hướng dẫn bạn tạo phân trang cho bài viết có trên 200 nhận xét.
Bài viết được Duypham viết nhằm giúp các bạn có được một khung Comment đẹp hơn

 Xem Demo
Phân trang cho nhận xét với bài trên 200 nhận xét - http://namkna.blogspot.com/
Bước 1: Thêm đoạn mã dưới đây vào trước thẻ  ]]></b:skin>  trong template của bạn.
.comments-pager{clear:bold;margin:10px 0;line-height:30px;font-size:13px}
.comments-pager .page-first{float:left;margin-right:6px}
.comments-pager .page-items{float:right}
.comments-pager .page-number,.comments-pager .page-next{margin-left:6px}
.comments-pager .page-number,.comments-pager .page-prev{margin-right:6px}
.comments-pager .selected{border:1px solid #BBB;background:#FFF;padding:5px}
Bước 2: Tìm trong template đoạn mã dưới đây:
<b:if cond='data:post.commentPagingRequired'>
<span class='paging-control-container'>
<a expr:class='data:post.oldLinkClass' expr:href='data:post.oldestLinkUrl'><data:post.oldestLinkText/></a>
&#160;
<a expr:class='data:post.oldLinkClass' expr:href='data:post.olderLinkUrl'><data:post.olderLinkText/></a>
&#160;
<data:post.commentRangeText/>
&#160;
<a expr:class='data:post.newLinkClass' expr:href='data:post.newerLinkUrl'><data:post.newerLinkText/></a>
&#160;
<a expr:class='data:post.newLinkClass' expr:href='data:post.newestLinkUrl'><data:post.newestLinkText/></a>
</span>
</b:if>
Có 2 đoạn mã như vậy. Thay thế đoạn mã thứ nhất bằng đoạn mã sau:
<b:if cond='data:post.numComments &gt; 200'>
<div class='comments-pager' id='comments-pager-top'/>
</b:if>
Thay thế đoạn mã thứ 2 bằng đoạn mã sau:
<b:if cond='data:post.numComments &gt; 200'>
<div class='comments-pager' id='comments-pager-bottom'>
<script type='text/javascript'>numcomments='<data:post.numComments/>';</script>
<script type='text/javascript'>
//<![CDATA[
var current;numshowpage=5;prev='&#8592;';next='&#8594;';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">&#133;</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">&#133;</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('comments-pager-top');a.innerHTML=dw;a=document.getElementById('comments-pager-bottom');a.innerHTML=dw;
//]]>
</script>
</div>
</b:if>
Nếu không tìm thấy Code bước 2 trong Template của bạn thì bạn làm như sau:
- Tìm đoạn code sau:
<b:loop values='data:post.comments' var='comment'>
- Và thêm Code sau vào trước nó:
<b:if cond='data:post.numComments &gt; 200'>
<div class='comments-pager' id='comments-pager-top'/>
</b:if>
- Tìm tiếp đoạn code  </b:loop>  tương ứng và thêm đoạn code bên dưới vào sau nó:
<b:if cond='data:post.numComments &gt; 200'>
<div class='comments-pager' id='comments-pager-bottom'>
<script type='text/javascript'>numcomments='<data:post.numComments/>';</script>
<script type='text/javascript'>
//<![CDATA[
var current;numshowpage=5;prev='&#8592;';next='&#8594;';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">&#133;</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">&#133;</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('comments-pager-top');a.innerHTML=dw;a=document.getElementById('comments-pager-bottom');a.innerHTML=dw;
//]]>
</script>
</div>
</b:if>
5 là số trang được hiển thị.

Đã cập nhật mã javascript sửa lỗi xét thiếu trường hợp số trang được hiển thị và đường dẫn trong chuyển trang thừa sau khi xem permalink comment.
Theo: Duypham.
Chủ đề:

Sửa lỗi không phân trang khi xem theo nhãn



Sửa lỗi không phân trang khi xem theo nhãn - http://namkna.blogspot.com
Chắc hẳn mỗi người dùng Blogger đều tạo phân trang (page navigation) để blog tải nhanh và trông gọn gàng hơn. Tuy nhiên khi click vào tên nhãnwidget label hay là ở thanh trạng thái breadcrumb của mỗi bài đăng thì số bài đăng hiển thị trên 1 trang lại lên đến 20 theo mặc định.
Thực ra việc hiển thị số bài đăng trên 1 trang là thêm vào sau địa chỉ dòng ?&max-results=5 để ngắt trang. Vì vậy để sửa lỗi này ta chỉ việc thay tất cả dòng:
expr:href='data:label.url'
thành:
expr:href='data:label.url + &quot;?&amp;max-results=5&quot;'
Thay 5 thành số bài đăng bạn muốn hiển thị trên 1 trang.
Chúc thành công!
Chủ đề:

Script phân trang cho bảng



Trước đây hẳn bạn nghe nhiều đến script phân trang cho toàn bộ blog và phân trang cho nội dung trong bài viết, chứ ít khi nghe kiểu phân trang cho bảng. Đôi khi bạn cần phải dùng đến bảng (table) để bố trí nội dung theo nhiều cột và nhiều dòng giống như trong văn bản Microsoft Word. Trong trường hợp nội dung quá nhiều thì bảng sẽ trở nên rất dài, khi đó với script phân trang sẽ giúp bảng trở nên gọn gàng hơn.

Xem Demo

Để phân trang cho bảng như vậy, bạn hãy thực hiện như sau:
Bước 1. Đăng nhập Blogger, vào Design >> Edit HTML. Đặt đoạn code sau đây vào trước thẻ </head>.


<script type="text/javascript">


//<![CDATA[


function Pager(tableName, itemsPerPage) {


    this.tableName = tableName;


    this.itemsPerPage = itemsPerPage;


    this.currentPage = 1;


    this.pages = 0;


    this.inited = false;


   


    this.showRecords = function(from, to) {      


        var rows = document.getElementById(tableName).rows;


        // i starts from 1 to skip table header row


        for (var i = 1; i < rows.length; i++) {


            if (i < from || i > to)


                rows[i].style.display = 'none';


            else


                rows[i].style.display = '';


        }


    }


   


    this.showPage = function(pageNumber) {


          if (! this.inited) {


                   alert("not inited");


                   return;


          }


        var oldPageAnchor = document.getElementById('pg'+this.currentPage);


        oldPageAnchor.className = 'pg-normal';


       


        this.currentPage = pageNumber;


        var newPageAnchor = document.getElementById('pg'+this.currentPage);


        newPageAnchor.className = 'pg-selected';


       


        var from = (pageNumber - 1) * itemsPerPage + 1;


        var to = from + itemsPerPage - 1;


        this.showRecords(from, to);


    }  


   


    this.prev = function() {


        if (this.currentPage > 1)


            this.showPage(this.currentPage - 1);


    }


   


    this.next = function() {


        if (this.currentPage < this.pages) {


            this.showPage(this.currentPage + 1);


        }


    }                      


   


    this.init = function() {


        var rows = document.getElementById(tableName).rows;


        var records = (rows.length - 1);


        this.pages = Math.ceil(records / itemsPerPage);


        this.inited = true;


    }


    this.showPageNav = function(pagerName, positionId) {


          if (! this.inited) {


                   alert("not inited");


                   return;


          }


          var element = document.getElementById(positionId);


         


          var pagerHtml = '<span onclick="' + pagerName + '.prev();" class="pg-normal"> &#171 Prev </span> | ';


        for (var page = 1; page <= this.pages; page++)


            pagerHtml += '<span id="pg' + page + '" class="pg-normal" onclick="' + pagerName + '.showPage(' + page + ');">' + page + '</span> | ';


        pagerHtml += '<span onclick="'+pagerName+'.next();" class="pg-normal"> Next &#187;</span>';          


       


        element.innerHTML = pagerHtml;


    }


}


//]]>


</script>


Bước 2. Đặt đoạn CSS sau đây vào trước dòng ]]></b:skin> để định dạng các thuộc tính cho phần phân trang:


.pg-normal {


       color: red;


       font-weight: normal;


       text-decoration: none;  


       cursor: pointer;  


}


.pg-selected {


       color: black;


       font-weight: bold;      


       text-decoration: underline;


       cursor: pointer;


}


Lưu Template.

Bước 3. Khi tạo nội dung trong một bài viết nào đó, hãy sử dụng cấu trúc HTML cho bảng dưới dạng như sau (ở đây demo bảng có 3 cột và 9 dòng để phân trang thành 3 trang, bạn có thể vận dụng linh hoạt):


<table id="results">


     <tr>


          <th>Heading 1</th>


          <th>Heading 2</th>


          <th>Heading 3</th>


     </tr>


     <tr>


          <td>Column 1 – Row 1</td>


          <td>Column 2 – Row 1</td>


          <td>Column 3 – Row 1</td>


     </tr>


     <tr>


          <td>Column 1 – Row 2</td>


          <td>Column 2 – Row 2</td>


          <td>Column 3 – Row 2</td>


     </tr>


     <tr>


          <td>Column 1 – Row 3</td>


          <td>Column 2 – Row 3</td>


          <td>Column 3 – Row 3</td>


     </tr>


     <tr>


          <td>Column 1 – Row 4</td>


          <td>Column 2 – Row 4</td>


          <td>Column 3 – Row 4</td>


     </tr>


     <tr>


          <td>Column 1 – Row 5</td>


          <td>Column 2 – Row 5</td>


          <td>Column 3 – Row 5</td>


     </tr>


     <tr>


          <td>Column 1 – Row 6</td>


          <td>Column 2 – Row 6</td>


          <td>Column 3 – Row 6</td>


     </tr>


     <tr>


          <td>Column 1 – Row 7</td>


          <td>Column 2 – Row 7</td>


          <td>Column 3 – Row 7</td>


     </tr>


     <tr>


          <td>Column 1 – Row 8</td>


          <td>Column 2 – Row 8</td>


          <td>Column 3 – Row 8</td>


     </tr>


     <tr>


          <td>Column 1 – Row 9</td>


          <td>Column 2 – Row 9</td>


          <td>Column 3 – Row 9</td>


     </tr>



<div id="pageNavPosition"></div>


<script type="text/javascript"><!--


       var pager = new Pager('results', 3);


       pager.init();


       pager.showPageNav('pager', 'pageNavPosition');


       pager.showPage(1);


//--></script>


Ở đoạn script trên thì số 3 biểu thị số dòng mỗi trang, bạn có thể điều chỉnh tùy theo trường hợp áp dụng của bạn.
Để hỗ trợ thêm mình Upload cho các bạn bằng Video

Chúc thành công!
Theo:Thuthuatblog.
Chủ đề:

Tạo phân trang (page navigation) kiểu Google cho Blogspot



Tạo phân trang (page navigation) kiểu Google cho Blogspot
Bạn đã xem bài viết về cách tạo phân trang kiểu 1, kiểu 2. Hiện nay trên cộng đồng Blogger có khá nhiều kiểu phân trang khác nhau cho blogspot. Mỗi kiểu đều có nét đẹp và ưu điểm riêng cho nên bạn cần lựa chọn kiểu nào phù hợp nhất để cài đặt cho blog của mình.
Script cho các kiểu phân trang dường như có những điểm na ná giống và cách cài đặt cũng vậy. Ở đây mình xin giới thiệu một kiểu phân trang theo phong cách Google.


Ảnh minh họa:

Cách tiến hành:

   1- Đăng nhập vào Blog
   2- Vào thiết kế
   3- Chọn Chỉnh sử HTML (Không cần mở rộng tiện ích mẫu)
   4- Đặt đoạn code dưới đây vào trước dòng ]]></b:skin>.
#nav a,#nav a:visited,.blk a{color:#000}
#nav a{display:block}
#nav .b a,#nav .b a:visited{color:#20c}
#nav .i{color:#a90a08;font-weight:bold}
.csb,.ss{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEiDXBgfBc6KFs_qKbfFiwzS8Nc4x-OK76Z2_kVWN882fqSxCS8a2MB9qmOfhGsOr2cnzaGXZzlYcfJ1VbOM2MOn5AzCoCIn1B0ws3E-IqKHFJ_60cerZLc4fQAWT5EsEe3pSLppyLbsVjGg/s1600/nav_logo-namkna-blogspot-com.png) no-repeat 0 0;height:26px;display:block}
.ss{background-position:0 -88px;position:absolute;left:0;top:0}
.cps{height:18px;overflow:hidden;width:114px}
.mbi{width:13px;height:13px;background-position:-91px -74px;margin-right:3px}
#nav td{padding:0;text-align:center
   5- Đặt đoạn code bên dưới vào trước thẻ </body>.
<script type='text/javascript'>
var home_page_url = location.href;

var pageCount=10;
var displayPageNum=9;
var upPageWord ='Trang trước';
var downPageWord ='Trang tiếp';


function showpageCount(json) {
var thisUrl = home_page_url;
var htmlMap = new Array();
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';

htmlMap[htmlMap.length]='/';
postNum++;

for(var i=pageCount-1, post; post = json.feed.entry[i]; i=i+pageCount) {

var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29);
timestamp = encodeURIComponent(timestamp1);
var title = post.title.$t;
if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}

postNum++;
htmlMap[htmlMap.length] = '/search?updated-max='+timestamp+'&amp;max-results='+pageCount;

}

var banyaknomer = htmlMap.length;
if (json.feed.entry.length % pageCount == 0){
var banyaknomer = htmlMap.length -1 ;
postNum=postNum-1;
};

for(var p =0;p&lt; banyaknomer;p++){
if(p&gt;=(thisNum-displayPageNum-1) &amp;&amp; p&lt;(thisNum+displayPageNum)){
if(fFlag ==0 &amp;&amp; p == thisNum-2){
if(thisNum==2){

upPageHtml = '&lt;a
href=&quot;/&quot;&gt;&lt;span class=&quot;csb
ch&quot; style=&quot;background-position: 0pt 0pt; margin-left:
auto; width: 44px;&quot;&gt;&lt;/span&gt;&lt;div
style=&quot;margin-right: 8px;&quot;&gt;'+ upPageWord
+'&lt;/a&gt;&lt;/td&gt;';
}else{
upPageHtml
= '&lt;a
href=&quot;'+htmlMap[p]+'&quot;&gt;&lt;span
class=&quot;csb ch&quot; style=&quot;background-position:
0pt 0pt; margin-left: auto; width:
44px;&quot;&gt;&lt;/span&gt;&lt;div
style=&quot;margin-right: 8px;&quot;&gt;'+ upPageWord
+'&lt;/a&gt;&lt;/td&gt;';
}

fFlag++;
}

if(p==(thisNum-1)){
if(p==0){

html += '&lt;span class=&quot;csb&quot;
style=&quot;background-position: -26px 0pt; width:
18px;&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;td
class=&quot;cur&quot;&gt;&lt;span
class=&quot;csb&quot; style=&quot;background-position: -44px
0pt; width:
16px;&quot;&gt;&lt;/span&gt;'+thisNum+'&lt;/td&gt;';
}else{

html += '&lt;td
class=&quot;cur&quot;&gt;&lt;span
class=&quot;csb&quot; style=&quot;background-position: -44px
0pt; width:
16px;&quot;&gt;&lt;/span&gt;'+thisNum+'&lt;/td&gt;';
}
}else{
if(p==0){

html += '&lt;td&gt;&lt;a
href=&quot;/&quot;&gt;&lt;span class=&quot;csb
ch&quot; style=&quot;background-position: -60px 0pt; width:
16px;&quot;&gt;&lt;/span&gt;1&lt;/a&gt;&lt;/td&gt;';

}else{

html += '&lt;td&gt;&lt;a
href=&quot;'+htmlMap[p]+'&quot;&gt;&lt;span
class=&quot;csb ch&quot; style=&quot;background-position:
-60px 0pt; width: 16px;&quot;&gt;&lt;/span&gt;'+ (p+1)
+'&lt;/a&gt;&lt;/td&gt;';
}
}

if(eFlag ==0 &amp;&amp; p == thisNum){

downPageHtml = '&lt;td class=&quot;b&quot;&gt;
&lt;a href=&quot;'+htmlMap[p]+'&quot;&gt;&lt;span
class=&quot;csb ch&quot; style=&quot;background-position:
-76px 0pt; margin-right: 34px; width:
66px;&quot;&gt;&lt;/span&gt;'+ downPageWord
+'&lt;/a&gt;&lt;/td&gt;';
eFlag++;
}
}
}

if(thisNum&gt;1){
html = ''+upPageHtml+' '+html +' ';
}
html2
= '&lt;table id=&quot;nav&quot; style=&quot;margin:
auto auto 1.4em; border-collapse: collapse;text-align: center;
direction: ltr;&quot;
align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr
valign=&quot;top&quot;&gt;&lt;td
class=&quot;b&quot;&gt;Page ('+(postNum-1)+')
&lt;/td&gt;&lt;td class=&quot;b&quot;&gt;';
html3 = '&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;';
html = html2+html;

if(thisNum&lt;(postNum-1)){
html += downPageHtml;
}else{

html += '&lt;td class=&quot;b&quot;&gt;&lt;span
class=&quot;csb&quot; style=&quot;background-position: -76px
0pt; width:
42px;&quot;&gt;&lt;/span&gt;&lt;/td&gt;';
}

if(postNum==1) postNum++;
html += html3+ '&lt;/div&gt;';

var pageArea = document.getElementsByName(&quot;pageArea&quot;);
var blogPager = document.getElementById(&quot;blog-pager&quot;);

if(postNum &lt;= 2){
html ='';
}

for(var p =0;p&lt; pageArea.length;p++){
pageArea[p].innerHTML = html;
}

if(pageArea&amp;&amp;pageArea.length&gt;0){
html ='';
}

if(blogPager){
blogPager.innerHTML = html;
}

}

function showpageCount2(json) {

var thisUrl = home_page_url;
var htmlMap = new Array();
var isLablePage = thisUrl.indexOf(&quot;/search/label/&quot;)!=-1;
var
thisLable = isLablePage ?
thisUrl.substr(thisUrl.indexOf(&quot;/search/label/&quot;)+14,thisUrl.length)
: &quot;&quot;;
thisLable =
thisLable.indexOf(&quot;?&quot;)!=-1 ?
thisLable.substr(0,thisLable.indexOf(&quot;?&quot;)) :
thisLable;
var thisNum = 1;
var postNum=1;
var itemCount = 0;
var fFlag = 0;
var eFlag = 0;
var html= '';
var upPageHtml ='';
var downPageHtml ='';

var labelHtml = '&lt;a href=&quot;/search/label/'+thisLable+'?&amp;max-results='+pageCount+'&quot;&gt;';
var thisUrl = home_page_url;

htmlMap[htmlMap.length]=labelHtml;
postNum++;

for(var i=pageCount-1, post; post = json.feed.entry[i]; i=i+pageCount) {
var timestamp1 = post.published.$t.substring(0,19)+post.published.$t.substring(23,29);
timestamp = encodeURIComponent(timestamp1);

var title = post.title.$t;

if(thisUrl.indexOf(timestamp)!=-1 ){
thisNum = postNum;
}

if(title!='') postNum++;
htmlMap[htmlMap.length] = '/search/label/'+thisLable+'?updated-max='+timestamp+'&amp;max-results='+pageCount;

itemCount++;
}

var banyaknomer = htmlMap.length;
if (json.feed.entry.length % pageCount == 0){
var banyaknomer = htmlMap.length -1 ;
postNum=postNum-1;
};

for(var p =0;p&lt; banyaknomer;p++){
if(p&gt;=(thisNum-displayPageNum-1) &amp;&amp; p&lt;(thisNum+displayPageNum)){
if(fFlag ==0 &amp;&amp; p == thisNum-2){

if(thisNum==2){

upPageHtml = labelHtml +'&lt;span class=&quot;csb
ch&quot; style=&quot;background-position: 0pt 0pt; margin-left:
auto; width: 44px;&quot;&gt;&lt;/span&gt;&lt;div
style=&quot;margin-right: 8px;&quot;&gt;'+ upPageWord
+'&lt;/a&gt;&lt;/td&gt;';
}else{
upPageHtml
= '&lt;a
href=&quot;'+htmlMap[p]+'&quot;&gt;&lt;span
class=&quot;csb ch&quot; style=&quot;background-position:
0pt 0pt; margin-left: auto; width:
44px;&quot;&gt;&lt;/span&gt;&lt;div
style=&quot;margin-right: 8px;&quot;&gt;'+ upPageWord
+'&lt;/a&gt;&lt;/td&gt;';
}

fFlag++;
}

if(p==(thisNum-1)){
if(p==0){

html += '&lt;span class=&quot;csb&quot;
style=&quot;background-position: -26px 0pt; width:
18px;&quot;&gt;&lt;/span&gt;&lt;/td&gt;&lt;td
class=&quot;cur&quot;&gt;&lt;span
class=&quot;csb&quot; style=&quot;background-position: -44px
0pt; width:
16px;&quot;&gt;&lt;/span&gt;'+thisNum+'&lt;/td&gt;';
}else{

html += '&lt;td
class=&quot;cur&quot;&gt;&lt;span
class=&quot;csb&quot; style=&quot;background-position: -44px
0pt; width:
16px;&quot;&gt;&lt;/span&gt;'+thisNum+'&lt;/td&gt;';

}
}else{
if(p==0){
html =
'&lt;td&gt;'+labelHtml+'&lt;span class=&quot;csb
ch&quot; style=&quot;background-position: -60px 0pt; width:
16px;&quot;&gt;&lt;/span&gt;1&lt;/a&gt;&lt;/td&gt;';
}else{

html += '&lt;td&gt;&lt;a
href=&quot;'+htmlMap[p]+'&quot;&gt;&lt;span
class=&quot;csb ch&quot; style=&quot;background-position:
-60px 0pt; width: 16px;&quot;&gt;&lt;/span&gt;'+ (p+1)
+'&lt;/a&gt;&lt;/td&gt;';
}
}

if(eFlag ==0 &amp;&amp; p == thisNum){

downPageHtml = '&lt;td class=&quot;b&quot;&gt;
&lt;a href=&quot;'+htmlMap[p]+'&quot;&gt;&lt;span
class=&quot;csb ch&quot; style=&quot;background-position:
-76px 0pt; margin-right: 34px; width:
66px;&quot;&gt;&lt;/span&gt;'+ downPageWord
+'&lt;/a&gt;&lt;/td&gt;';
eFlag++;
}
}
}

if(thisNum&gt;1){
if(!isLablePage){
html = ''+upPageHtml+' '+html +' ';
}else{
html = ''+upPageHtml+' '+html +' ';
}
}

html2
= '&lt;table id=&quot;nav&quot; style=&quot;margin:
auto auto 1.4em; border-collapse: collapse;text-align: center;
direction: ltr;&quot;
align=&quot;center&quot;&gt;&lt;tbody&gt;&lt;tr
valign=&quot;top&quot;&gt;&lt;td
class=&quot;b&quot;&gt;Page ('+(postNum-1)+')
&lt;/td&gt;&lt;td class=&quot;b&quot;&gt;';
html3 = '&lt;/tr&gt;&lt;/tbody&gt;&lt;/table&gt;';
html = html2+html;

if(thisNum&lt;(postNum-1)){
html += downPageHtml;
}else{

html += '&lt;td class=&quot;b&quot;&gt;&lt;span
class=&quot;csb&quot; style=&quot;background-position: -76px
0pt; width:
42px;&quot;&gt;&lt;/span&gt;&lt;/td&gt;';
}

if(postNum==1) postNum++;
html += html3+ '&lt;/div&gt;';

var pageArea = document.getElementsByName(&quot;pageArea&quot;);
var blogPager = document.getElementById(&quot;blog-pager&quot;);

if(postNum &lt;= 2){
html ='';
}

for(var p =0;p&lt; pageArea.length;p++){
pageArea[p].innerHTML = html;
}

if(pageArea&amp;&amp;pageArea.length&gt;0){
html ='';
}

if(blogPager){
blogPager.innerHTML = html;
}
}
</script>

<script type='text/javascript'>
var thisUrl = home_page_url;
if (thisUrl.indexOf(&quot;/search/label/&quot;)!=-1){
if (thisUrl.indexOf(&quot;?updated-max&quot;)!=-1){

var lblname1 =
thisUrl.substring(thisUrl.indexOf(&quot;/search/label/&quot;)+14,thisUrl.indexOf(&quot;?updated-max&quot;));
}else{

var lblname1 =
thisUrl.substring(thisUrl.indexOf(&quot;/search/label/&quot;)+14,thisUrl.indexOf(&quot;?&amp;max&quot;));
}
}

var home_page = &quot;/&quot;;
if (thisUrl.indexOf(&quot;?q=&quot;)==-1 &amp;&amp; thisUrl.indexOf(&quot;.html&quot;)==-1){
if (thisUrl.indexOf(&quot;/search/label/&quot;)==-1){

document.write('&lt;script
src=&quot;'+home_page+'feeds/posts/summary?alt=json-in-script&amp;callback=showpageCount&amp;max-results=99999&quot;
&gt;&lt;\/script&gt;')

}else{document.write('&lt;script
src=&quot;'+home_page+'feeds/posts/full/-/'+lblname1+'?alt=json-in-script&amp;callback=showpageCount2&amp;max-results=99999&quot;
&gt;&lt;\/script&gt;')
}
}
</script>
Bạn chú ý các code sau:

  • var pageCount=10; (Số bài viết muốn hiển thị)
  • var displayPageNum=9; (Số phân trang)
  • var upPageWord ='« Trang trước'; (Có thể thay đổi chử Trở về thành chữ Prev...)
  • var downPageWord ='Trang tiếp »'; (Có thể thay đổi chử Next..)
   6-  Sau đó bấm Lưu Mẫu lại. 


   7-  Tich chọn mở rộng tiện ích mẫu Tìm tất cả các dòng nào như thế này 'data:label.url'.
Rồi thay thế nó bằng dòng 'data:label.url + "?&max-results=10"'.

   8-  Sau đó bấm Lưu Mẫu lại. 

   9-  (có thể thực hiện hoặc không tùy template) Tiếp theo bạn cần định cấu hình bài đăng trên trang chính là 10 bài đăng. Vào Phần tử trang (Page Elements) >> Chỉnh sửa Bài đăng trên Blog (Edit Blog Posts) chọn Số bài đăng trên trang chính là 10.
Chủ đề:

Popular Posts