Chủ Nhật

tổng hợp Tiện ích phân trang PageNavi và một số style

Nguồn: Noct Hỗn tạp 



Giới thiệu: Chúng ta đều đã biết rằng Blogger vốn chỉ cung cấp 2 link "Previous" và "Next" để chuyển bài, điều đó hiển nhiên không làm thỏa mãn người dùng. Vì thế có nhiều hack cho Blogger ra đời. Hack lần này trình bày về cơ bản không khác các hack trước, chức năng cũng không nổi bật hơn nhiều, chỉ có duy nhất 1 điểm là nó được viết lại hoàn toàn theo phong cách của 1 plugin nổi tiếng cho WordPress - WP-PageNavi.


CÁCH THỰC HIỆN 

1. Đăng nhập Blogger Dashboard (Bảng điều khiển) 
2. Chọn: Design (Thiết kế) > Edit HTML (Chỉnh sữa HTML) 
3. Đánh dấu chọn ô: Expand Widget Templates (Mở rộng mẫu tiện ích) 

4. Chèn script 

Bước 1: Tìm dòng code có dạng tương tự sau:

<b:widget id='Blog1' locked='true' title='Blog Posts' type='Blog'>

Những chữ tô xanh không cần phải giống nhau với các template.
- Thêm vào sau nó đoạn code sau:
<b:includable id='page-navi'> <!-- Tiện ích phân trang PageNavi (1)-->
    <div class="pagenavi">
        <script type="text/javascript">
        var pageNaviConf = {
            perPage: 8, // Số bài viết hiển thị trên một trang
            numPages: 7, // Số trang hiển thị
            firstText: "First",
            lastText: "Last",
            nextText: "Next",
            prevText: "Prev"
        }
        </script>
<script type='text/javascript'>
//<![CDATA[
function pageNavi(o){var m=location.href,l=m.indexOf("/search/label/")!=-1,a=l?m.substr(m.indexOf("/search/label/")+14,m.length):"";a=a.indexOf("?")!=-1?a.substr(0,a.indexOf("?")):a;var g=l?"/search/label/"+a+"?updated-max=":"/search?updated-max=",k=o.feed.entry.length,e=Math.ceil(k/pageNaviConf.perPage);if(e<=1){return}var n=1,h=[""];l?h.push("/search/label/"+a+"?max-results="+pageNaviConf.perPage):h.push("/?max-results="+pageNaviConf.perPage);for(var d=2;d<=e;d++){var c=(d-1)*pageNaviConf.perPage-1,b=o.feed.entry[c].published.$t,f=b.substring(0,19)+b.substring(23,29);f=encodeURIComponent(f);if(m.indexOf(f)!=-1){n=d}h.push(g+f+"&max-results="+pageNaviConf.perPage)}pageNavi.show(h,n,e)}pageNavi.show=function(f,e,a){var d=Math.floor((pageNaviConf.numPages-1)/2),g=pageNaviConf.numPages-1-d,c=e-d;if(c<=0){c=1}endPage=e+g;if((endPage-c)<pageNaviConf.numPages){endPage=c+pageNaviConf.numPages-1}if(endPage>a){endPage=a;c=a-pageNaviConf.numPages+1}if(c<=0){c=1}var b='<span class="pages">Pages '+e+' of '+a+"</span> ";if(c>1){b+='<a href="'+f[1]+'">'+pageNaviConf.firstText+"</a>"}if(e>1){b+='<a href="'+f[e-1]+'">'+pageNaviConf.prevText+"</a>"}for(i=c;i<=endPage;++i){if(i==e){b+='<span class="current">'+i+"</span>"}else{b+='<a href="'+f[i]+'">'+i+"</a>"}}if(e<a){b+='<a href="'+f[e+1]+'">'+pageNaviConf.nextText+"</a>"}if(endPage<a){b+='<a href="'+f[a]+'">'+pageNaviConf.lastText+"</a>"}document.write(b)};(function(){var b=location.href;if(b.indexOf("?q=")!=-1||b.indexOf(".html")!=-1){return}var d=b.indexOf("/search/label/")+14;if(d!=13){var c=b.indexOf("?"),a=(c==-1)?b.substring(d):b.substring(d,c);document.write('<script type="text/javascript" src="/feeds/posts/summary/-/'+a+'?alt=json-in-script&callback=pageNavi&max-results=99999"><\/script>')}else{document.write('<script type="text/javascript" src="/feeds/posts/summary?alt=json-in-script&callback=pageNavi&max-results=99999"><\/script>')}})();
//]]>
</script>
<div class="clear" />
</div>
</b:includable>
if(e<=1){return} // Bỏ dòng này đi, nếu muốn các bài đăng trong 1 label nào đó ít hơn "perPage" mà vẫn hiển thị được phân trang. (Nó có dạng "Pages 1 of 1" - để người đọc biết được rằng số bài đăng trong label này chỉ có thế)
Bước 2: Tìm dòng <b:include name='nextprev'/> - Thay thế nó bằng đoạn code sau:
<!-- Tiện ích phân trang PageNavi (2)-->
<b:if cond='data:blog.pageType == "index"'>
<b:include name='page-navi'/>
<b:else/>
<b:if cond='data:blog.pageType == "archive"'>
<b:include name='page-navi'/>
</b:if>
</b:if>
Bước 3: Tìm dòng code ]]></b:skin> - Thêm vào trước nó một trong 7 mẫu code sau: Mẫu 1:
/* Tiện ích phân trang PageNavi (3)*/
/*Thanh phân trang*/
.pagenavi{
     clear:both;
     margin:10px auto;
     text-align:center;
}

/*Màu link, nền các nút phân trang*/
.pagenavi span,.pagenavi a{
     padding:3px;
     margin-right:5px;
     background:#fff;
     border:1px solid #c20c0c;
}

/*Màu link đã xem qua*/
.pagenavi a:visited{ 
     color:#c20c0c;
}

/*Màu link và nền khi rê chuột*/
.pagenavi a:hover,.pagenavi .current{
     background:#c20c0c;
     color:#fff;
     text-decoration:none;
}
.pagenavi .pages,.pagenavi .current{
     font-weight:bold;
}
.pagenavi .pages{border:none}
Mẫu 2:
/* Tiện ích phân trang PageNavi (3)*/
/*Thanh phân trang*/
.pagenavi{
     clear:both;
     margin:10px auto;
     text-align:center
}

/*Màu link, nền các nút phân trang*/
.pagenavi span,.pagenavi a { 
     font-size:12px;
     padding: 2px 4px 2px 4px;
     margin: 2px;
     border: 1px solid #dfdfdf;
     color:#000;
}
.pagenavi a:visited{}

/*Màu link và nền khi rê chuột*/
.pagenavi a:hover,.pagenavi .current{
      color:#FFF;
      background-color:#e81d1d;
      border: 1px solid #fb1515;
      text-decoration:none;
}
Mẫu 3:
/* Tiện ích phân trang PageNavi (3)*/
/*Thanh phân trang*/
.pagenavi{
     clear:both;
     margin:10px auto;
     text-align:center;
}

/*Màu link, nền các nút phân trang*/
.pagenavi span,.pagenavi a {
     background:#0e0f10;
     font-size:12px;
     padding: 3px 5px;
     margin: 2px;
     border: 1px solid #333;
     color:#fff;
}

.pagenavi a:visited{}

/*Màu link và nền khi rê chuột*/
.pagenavi a:hover,.pagenavi .current{
     color: #FFF;
     background-color: #33393f;
     border: 1px solid #444;
     text-decoration:none;
}
Mẫu 4:
/* Tiện ích phân trang PageNavi (3)*/
/*Thanh phân trang*/
.pagenavi{
    clear:both;
    margin:10px auto 20px;
    text-align:center;
}

/*Màu link, nền các nút phân trang*/
.pagenavi span,.pagenavi a{
    background:#24bde2;
    border:1px solid #4adcff;
    padding:3px 8px;
    color:#fff;
    margin:2px;
    font-size:12px;
}

/*Màu link và nền khi rê chuột*/
.pagenavi a:hover,.pagenavi .current{
    color:#fff;
    background:#ff6734;
    border:1px solid #ddd;
    text-decoration:none;
}
.pagenavi .pages{display:none}
Mẫu 5:
/* Tiện ích phân trang PageNavi (3)*/
/*Thanh phân trang*/
.pagenavi{
    background:#f1f1f1;
    clear:both;
    margin:12px auto 20px;
    text-align:center;
    border:1px solid #bfbfbf;
    padding:3px 0;
}

/*Màu link, nền các nút phân trang*/
.pagenavi span,.pagenavi a{
    border:1px solid #f1f1f1;
    padding:1px 4px;
    color:#000;
    margin:2px;
    font-size:12px;
}

/*Màu link và nền khi rê chuột*/
.pagenavi a:hover,.pagenavi .current{
    border:1px solid #bfbfbf;
    background:#fffdf0;
    color:#000;
    text-decoration:none;
}
Mẫu 6:
/* Tiện ích phân trang PageNavi (3)*/
/*Thanh phân trang*/
.pagenavi{
    background:#3498b9;
    clear:both;
    margin:12px auto 20px;
    text-align:center;
    border:1px solid #2f7a93;
    padding:4px 0;
}

/*Màu link, nền các nút phân trang*/
.pagenavi span,.pagenavi a{
    font-weight:bold;
    padding:7px 8px;
    color:#fff;
    margin:1px;
    font-size:11px;
}

/*Màu link và nền khi rê chuột*/
.pagenavi a:hover,.pagenavi .current{
    background:#236e8f;
    color:#fff;
    text-decoration:none;
}
Mẫu 7:
/* Tiện ích phân trang PageNavi (3)*/
/*Thanh phân trang*/
.pagenavi{
    clear:both;
    text-align:right;
    margin:25px 0 10px 0;
    font-size:.714em;
    font-weight:600;
    line-height:1.4em;
}

/*Màu link, nền các nút phân trang*/
.pagenavi span,.pagenavi a{
    background:#e1e1e1;
    color:#555;
    border:1px solid #555;
    -moz-border-radius:3px;
    -webkit-border-radius:3px;
    border-radius:3px;
    -moz-box-shadow:0 1px 0 #FFF;
    -webkit-box-shadow:0 1px 0 #FFF;
    box-shadow:0 1px 0 #FFF;
    margin-left:5px;
    padding:4px 6px 3px;
    text-shadow:0 1px 0 #C2C2C2;
}

/*Màu link và nền khi rê chuột*/
.pagenavi a:hover,.pagenavi .current{
    background:#29A07C;
    border:1px solid #00203B;
    text-shadow:0 -1px 0 #00203B;
    color:#fff;
    text-decoration:none;
}

.pagenavi .pages{background:none;border:none}
Bước 4: Save template. (Lưu mẫu) THE END

Mừng Xuân 2012 - Various Artists | Album

Mừng Xuân 2012 - Various Artists | Album

... code ...

tổng hợp Tiện ích “Bài viết liên quan” cho Blogger

Tiện ích “Bài viết liên quan” cho Blogger
Một phương pháp tương đối dễ dàng để tăng số lượng Page Views trên blog của bạn là thêm một danh sách các bài liên quan bên dưới mỗi bài viết. Điều này cung cấp cho độc giả nhiều thông tin liên quan hơn đến chủ đề mà họ đang theo dõi.
Đây là một tiện ích được sử dụng rất phổ biến, và nó cũng có rất nhiều “biến thể”. Hôm nay iTechPlus sẽ giới thiệu đến các bạn một số style được sử dụng phổ biến nhất trên các trang Web/Blog trong cũng như ngoài nước, nhằm cung cấp cho các bạn có nhiều lựa chọn hơn trong việc áp dụng vào Blog của mình.
A. Style 1 : Related Posts Widget for Blogger v1 BloggerPlugins )
Related Posts Widget for Blogger v1
1. Vào Thiết kế > Chỉnh sửa HTML > Tick chọn Mở rộng mẫu tiện ích
2. Chèn đoạn code bên dưới vào phía trên thẻ đóng </head>
<b:if cond='data:blog.pageType == &quot;item&quot;'>  <style type="text/css">  #related-posts {  float:center;  text-transform:none;  height:100%;  min-height:100%;  padding-top:5px;  padding-left:5px;  }  #related-posts .widget{  padding-left:6px;  margin-bottom:10px;  }  #related-posts .widget h2, #related-posts h2{  font-size: 1.6em;  font-weight: bold;  color: black;  font-family: Georgia, &#8220;Times New Roman&#8221;, Times, serif;  margin-bottom: 0.75em;  margin-top: 0em;  padding-top: 0em;  }  #related-posts a{  color:blue;  }  #related-posts a:hover{  color:blue;  }  #related-posts ul{  list-style-type:none;  margin:0 0 0px 0;  padding:0px;  text-decoration:bold;  font-size:15px;  text-color:#000000  }  #related-posts ul li{  background:transparent url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEifWhHbvkknLPEfiaMrWuwixkk9Ffv1o6qHIKGs558vp4H-Hw0nyNycqYmyLwvAYUrYNwdpmWaFV8fKoyKQyT9BCrsJFJqjkpW8aCs25DPZnk6Ui5oE8-TRujFBKEpSW9qtbMiLTDeGLNk/s200/greentickbullet.png) no-repeat ;  display:block;  list-style-type:none;  margin-bottom: 13px;  padding-left: 30px;  padding-top:0px;}  </style>  <script type='text/javascript'>  var relatedpoststitle="Related Posts";  </script>  <script src='http://blogergadgets.googlecode.com/files/related-posts-for-blogger.js' type='text/javascript'/>  </b:if>
3. Tìm trong Template của bạn đoạn code tương tự như bên dưới : 
<div class='post-footer-line post-footer-line-1'>
hoặc 
<p class='post-footer-line post-footer-line-1'>
và ngay lập tức bên dưới nó chèn đoạn code sau : 
<b:if cond='data:blog.pageType == &quot;item&quot;'>  <div id='related-posts'>  <b:loop values='data:post.labels' var='label'>  <b:if cond='data:label.isLast != &quot;true&quot;'>  </b:if>  <b:if cond='data:blog.pageType == &quot;item&quot;'>  <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels&quot;' type='text/javascript'/></b:if></b:loop><a href='http://www.itechplus.info/2011/01/related-posts-bai-viet-lien-quan-cho.html'><img style="border: 0" alt="Related Posts Widget for Blogger" src="http://image.bloggerplugins.org/blogger-widgets.png" /></a>  <script type='text/javascript'>  var maxresults=5; removeRelatedDuplicates(); printRelatedLabels(&quot;<data:post.url/>&quot;);  </script>  </div>  </b:if>
với var maxresults=5; là số bài viết sẽ hiển thị trong widget ( mặc định là 5 )
B. Style 2 : Related Posts Widget for Blogger with Thumbnails BloggerPlugins )
Related Posts Widget for Blogger with Thumbnails
1. Vào Thiết kế > Chỉnh sửa HTML > Tick chọn Mở rộng mẫu tiện ích
2. Chèn đoạn code bên dưới vào phía trên thẻ đóng </head>
<b:if cond='data:blog.pageType == &quot;item&quot;'>  <style type="text/css">  #related-posts {  float:center;  text-transform:none;  height:100%;  min-height:100%;  padding-top:5px;  padding-left:5px;  }  #related-posts h2{  font-size: 1.6em;  font-weight: bold;  color: black;  font-family: Georgia, &#8220;Times New Roman&#8221;, Times, serif;  margin-bottom: 0.75em;  margin-top: 0em;  padding-top: 0em;  }  #related-posts a{  color:black;  }  #related-posts a:hover{  color:black;  }  #related-posts  a:hover {  background-color:#d4eaf2;  }  </style>  <script type='text/javascript'>  var defaultnoimage="https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEj6M6Dpn08qO4OV3EEMVzRsR-a_KzxtYApcAXtcLSECb5ee6Tydu0BzvowQ54g-u03AMh0OHlQAe3cv2W1hoNIhGwncLitbqIiH39PH_3tl1OPUX8NRk943TdPKM7J4XyqwQdS4lyNJ9qY/s400/noimage.png"; var maxresults=5;  var splittercolor="#d4eaf2";  var relatedpoststitle="Related Posts";  </script>  <script src='http://blogergadgets.googlecode.com/files/related-posts-with-thumbnails-for-blogger-pro.js' type='text/javascript'/>  </b:if>
3. Tìm trong Template của bạn đoạn code tương tự như bên dưới : 
<div class='post-footer-line post-footer-line-1'>
hoặc 
<p class='post-footer-line post-footer-line-1'>
và ngay lập tức bên dưới nó chèn đoạn code sau : 
<b:if cond='data:blog.pageType == &quot;item&quot;'>  <div id='related-posts'>  <b:loop values='data:post.labels' var='label'>  <b:if cond='data:label.isLast != &quot;true&quot;'>  </b:if>  <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?alt=json-in-script&amp;callback=related_results_labels_thumbs&amp;max-results=6&quot;' type='text/javascript'/></b:loop>  <script type='text/javascript'>  removeRelatedDuplicates_thumbs();  printRelatedLabels_thumbs(&quot;<data:post.url/>&quot;);  </script>  </div><div style='clear:both'/>  </b:if>  <b:if cond='data:blog.url == data:blog.homepageUrl'><b:if cond='data:post.isFirstPost'>  <a href='http://www.itechplus.info/2011/01/related-posts-bai-viet-lien-quan-cho.html'><img style="border: 0" alt="Related Posts Widget For Blogger with Thumbnails" src="http://image.bloggerplugins.org/blogger-widgets.png" /></a><a href='http://www.itechplus.info/' ><img style="border: 0" alt="Kiến thức – Thủ thuật – Giải pháp công nghệ" src="http://image.bloggerplugins.org/blogger-templates.png" /></a>  </b:if></b:if>
4. Thay thế code màu đỏ theo ý bạn
5. Save Template.
C. Style 3 : Related Posts by Categories ( Jackbook )
Related Posts by Categories
1. Vào Thiết kế > Chỉnh sửa HTML > Tick chọn Mở rộng mẫu tiện ích
2. Tìm trong Template của bạn đoạn code sau :
<data:post.body/>
hoặc 
<p><data:post.body/></p>
và ngay sau nó chèn đoạn code bên dưới : 
<b:if cond='data:blog.pageType == "item"'>      <div class='similiar'>          <div class='widget-content'>          <h3>Related Posts by Categories</h3>          <div id='data2007'/><br/><br/>              <script type='text/javascript'>              var homeUrl3 = &quot;<data:blog.homepageUrl/>&quot;;              var maxNumberOfPostsPerLabel = 4;              var maxNumberOfLabels = 10;              maxNumberOfPostsPerLabel = 10;              maxNumberOfLabels = 3;              function listEntries10(json) {                var ul = document.createElement(&#39;ul&#39;);                var maxPosts = (json.feed.entry.length &lt;= maxNumberOfPostsPerLabel) ?                               json.feed.entry.length : maxNumberOfPostsPerLabel;                for (var i = 0; i &lt; maxPosts; i++) {                  var entry = json.feed.entry[i];                  var alturl;                  for (var k = 0; k &lt; entry.link.length; k++) {                    if (entry.link[k].rel == &#39;alternate&#39;) {                      alturl = entry.link[k].href;                      break;                    }                  }                  var li = document.createElement(&#39;li&#39;);                  var a = document.createElement(&#39;a&#39;);                  a.href = alturl;                  if(a.href!=location.href) {                      var txt = document.createTextNode(entry.title.$t);                         a.appendChild(txt);                      li.appendChild(a);                      ul.appendChild(li);                     }                }                for (var l = 0; l &lt; json.feed.link.length; l++) {                  if (json.feed.link[l].rel == &#39;alternate&#39;) {                    var raw = json.feed.link[l].href;                    var label = raw.substr(homeUrl3.length+13);                    var k;                    for (k=0; k&lt;20; k++) label = label.replace(&quot;%20&quot;, &quot; &quot;);                    var txt = document.createTextNode(label);                    var h = document.createElement(&#39;b&#39;);                    h.appendChild(txt);                    var div1 = document.createElement(&#39;div&#39;);                     div1.appendChild(h);                    div1.appendChild(ul);                    document.getElementById(&#39;data2007&#39;).appendChild(div1);                  }                }              }              function search10(query, label) {              var script = document.createElement(&#39;script&#39;);              script.setAttribute(&#39;src&#39;, query + &#39;feeds/posts/default/-/&#39;               + label +              &#39;?alt=json-in-script&amp;callback=listEntries10&#39;);              script.setAttribute(&#39;type&#39;, &#39;text/javascript&#39;);              document.documentElement.firstChild.appendChild(script);              }              var labelArray = new Array();              var numLabel = 0;              <b:loop values='data:posts' var='post'>                <b:loop values='data:post.labels' var='label'>                  textLabel = &quot;<data:label.name/>&quot;;                  var test = 0;                  for (var i = 0; i &lt; labelArray.length; i++)                  if (labelArray[i] == textLabel) test = 1;                  if (test == 0) {                     labelArray.push(textLabel);                     var maxLabels = (labelArray.length &lt;= maxNumberOfLabels) ?                            labelArray.length : maxNumberOfLabels;                     if (numLabel &lt; maxLabels) {                        search10(homeUrl3, textLabel);                        numLabel++;                     }                  }                </b:loop>              </b:loop>              </script>          </div>      </div>  </b:if>
3. Thay đổi code màu đỏ theo ý bạn, trong đó :
  • maxNumberOfPostsPerLabel : số bài viết  tối đa được hiển thị theo mỗi Label
  • maxNumberOfLabels : số Label được hiển thị
D. Style 4 : Related Posts v2.0 by Anhvo
Related Posts v2.0 by Anhvo 1. Vào Thiết kế > Chỉnh sửa HTML > Tick chọn Mở rộng mẫu tiện ích
2. Tìm trong Template đoạn code tương tự như sau :
<div class='post-footer-line post-footer-line-3'/>
hoặc 
<div class='post-footer-line post-footer-line-2'/>
hoặc 
<div class='post-footer-line post-footer-line-1'/>
và chèn bên dưới nó đoạn code này :
<b:if cond='data:blog.pageType == &quot;item&quot;'>  <div id='post-labels-for-related' style='display:none'><b:if cond='data:post.labels'><b:loop values='data:post.labels' var='label'><data:label.name/><b:if cond='data:label.isLast != &quot;true&quot;'>,</b:if></b:loop></b:if></div>  <div id='post-timestamp-for-related' style='display:none'><data:post.timestampISO8601/></div>  <style type='text/css'>  #related-posts-block {  margin:10px 5px 0 -20px;  font-size:12px;  color:#999999;  text-transform:none;  }  #related-posts-block #related-posts-loading-text{  font-size:18px;  color:#FF0033;  text-align:center;  }  #related-posts-block #related-newest-href {  margin:10px 5px;  }  #related-posts-block #related-newest-href ul{  list-style-image:url(https://lh4.googleusercontent.com/_PAuO_he0N0k/TYQYg4JsTdI/AAAAAAAAEu4/qKWg2IDbuxo/arrow.gif); }  #related-posts-block #related-newest-href #related-newest-title {  font-size:16px;  margin:10px 5px  }  #related-posts-block #related-newest-href a{  font-size:12px;  font-family:Arial, Helvetica, sans-serif;  color:#000000;  }  #related-posts-block #related-older-href {  margin:10px 5px;  }  #related-posts-block #related-older-href ul{  list-style-image:url(https://lh4.googleusercontent.com/_PAuO_he0N0k/TYQYg4JsTdI/AAAAAAAAEu4/qKWg2IDbuxo/arrow.gif); }  #related-posts-block #related-older-href #related-older-title {  font-size:16px;  margin:10px 5px  }  #related-posts-block #related-older-href a{  font-size:12px;  font-family:Arial, Helvetica, sans-serif;  color:#000000;  }  </style>  <div id='related-posts-block'>  <div id='related-posts-loading-text'>Loading related posts... <img align='absmiddle' src='https://lh5.googleusercontent.com/_PAuO_he0N0k/TYQYgqqO3gI/AAAAAAAAEu0/mhdfPX_a784/25.gif'/></div>  <div id='related-newest-href'><div id='related-newest-title'/></div>  <div id='related-older-href'><div id='related-older-title'/></div>  </div>  </b:if>
3. Chèn đoạn code bên dưới lên trước thẻ đóng </body>
<b:if cond='data:blog.pageType == &quot;item&quot;'>  <script type='text/javascript'>  //<![CDATA[  var showdate = false;  var max_post = 12;  //]]>  </script>  <script type='text/javascript'>  //<![CDATA[  // Related posts script for Blogger  // version 2.0  // (C) Anhvo  // Homepage: vietwebguide.com  // Please dont remove this copyright when using or redistributing this code  function format(ptime){      return ptime.substr(0,19);  }  function formatdate(d){      var month = [1,2,3,4,5,6,7,8,9,10,11,12];      var month2 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];      var m = parseInt(d.substring(5,7),10);      for(var j=0; j<month.length;j++){          if(m==month[j]){              m = month2[j]; break;          }      }      return d.substring(8,10) + "-" + m + "-" + d.substring(0,4);  }  function getRelatedNewestLinks(json){      var entry = json.feed.entry;      if(entry){          for(var k=0;k<entry.length;k++){              var li = document.createElement("li");              if(showdate){                  li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>" + ' - <i>' + formatdate(entry[k].published.$t) +'</i>';              }              else {                  li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>";              }              if(!checkRelaxLinks("related-newest-href",entry[k].link[4].href)){                  document.getElementById("related-newest-href-ul1").appendChild(li);                  document.getElementById("related-newest-title").innerHTML = "<img src='https://lh4.googleusercontent.com/_PAuO_he0N0k/TYQYgvMFFLI/AAAAAAAAEuw/I2qzJMD2tHA/1.jpg'width='347' height='21'>"              }          }      } else {          document.getElementById("related-older-title").innerHTML = "Không có bài nào mới hơn cùng chủ đề";      }  }  function getRelatedOlderLinks(json){      var entry = json.feed.entry;      if(entry){          for(var k=0;k<entry.length;k++){              var li = document.createElement("li");              if(showdate){                  li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>" + ' - <i>' + formatdate(entry[k].published.$t) + '</i>';              }              else {                  li.innerHTML = "<a href='"+entry[k].link[4].href+"'>"+entry[k].title.$t+"</a>";              }              if(!checkRelaxLinks("related-older-href",entry[k].link[4].href)){                  document.getElementById("related-older-href-ul2").appendChild(li);                  document.getElementById("related-older-title").innerHTML = "<img src='https://lh5.googleusercontent.com/_PAuO_he0N0k/TYQYgkneo2I/AAAAAAAAEus/ji_rqUm2S7E/2-1.jpg'width='347' height='21'>"              }          }      } else {          document.getElementById("related-older-title").innerHTML = "Không có bài nào cũ hơn cùng chủ đề";      }          document.getElementById("related-posts-loading-text").style.display = "none";  }  function createRelatedJson(min_or_max,cRJ_label,fcn_callback,cRJ_max){      var script = document.createElement("script");      script.src = "/feeds/posts/summary/-/"+escape(cRJ_label)+"?orderby=published&max-results="+cRJ_max+"&published-"+min_or_max+"="+escape(format(document.getElementById("post-timestamp-for-related").innerHTML))+"&alt=json-in-script&callback="+fcn_callback;      script.type = "text/javascript";      document.getElementsByTagName("head")[0].appendChild(script);  }  function checkRelaxLinks(cid,clink){      var check = false;      var u = document.getElementById(cid);      var a = u.getElementsByTagName("a");      for(var i=0;i<a.length;i++){          if(a[i].href==clink){              check = true;              break;          }      }      var url = location.href.split(".html")[0]+".html";      if(clink==url) check = true;      return check;  }  function createRP(){      var postLabel = document.getElementById("post-labels-for-related").innerHTML.split(',');      var max_ = Math.round(max_post/postLabel.length);      var ul1 = document.createElement('ul');      ul1.id = 'related-newest-href-ul1';      document.getElementById('related-newest-href').appendChild(ul1);      for(var i=0; i<postLabel.length;i++){           createRelatedJson("min",postLabel[i],"getRelatedNewestLinks",max_);      }      var ul2 = document.createElement('ul');      ul2.id = 'related-older-href-ul2';      document.getElementById('related-older-href').appendChild(ul2);      for(var j=0; j<postLabel.length;j++){           createRelatedJson("max",postLabel[j],"getRelatedOlderLinks",max_);      }  }  createRP();  //]]>  </script>  </b:if>
Trong đoạn code trên :
  • var showdate = false; : nếu muốn hiện thị ngày đăng thì thay false thành true
  • var max_post = 12; : số bài viết tối đa hiển thị là 12 bài.
* Update : giới thiệu đến các bạn một style khác do Fandung bên phandung.blogspot.com phát triển với hiệu ứng hiển thị mô tả khi rê chuột.
E. Style 5 : Related Posts with Description Effect
Related Posts with Description Effect
1. Vào Thiết kế > Chỉnh sửa HTML > Tick chọn Mở rộng mẫu tiện ích
2. Chèn đoạn code bên dưới vào trước thẻ đóng </head>
<style type='text/css'>  .mota-desc{  position: relative;  z-index: 0;  text-decoration:none;  }  .mota-desc:hover{  background-color: transparent;  z-index: 50;  }  .mota-desc span{  position: absolute;  background-color: #ffffff;  padding: 5px;  left: -1000px;  border: 1px solid #666;  visibility: hidden;  color: black;  text-decoration: none;  }  .mota-desc span img{  border-width: 0;  padding: 2px;  }  .mota-desc:hover span{  padding:5px;  visibility: visible;  top: 20px;  left:70px;  width:250px;  background:#ddd;  text-align: justify;  }  #related-posts {  padding-top:40px;  }  #related-posts a {  text-decoration : none;  }  #related-posts a:hover {  text-decoration : none;  }  </style>  <script language='JavaScript'>  imgr = new Array();  imgr[0] = &quot;http://farm4.static.flickr.com/3635/3638008086_87c5d93e22_o.gif&quot;;  showRandomImg = true;  imgwidth = 60;  imgheight = 60;  fntsize = 12;  acolor = &quot;#555&quot;;  aBold = true;  motacolor = &quot;#f00&quot;;  text = &quot;Nhận xét&quot;;  showPostDate = true;  summaryPost = 150;  summaryFontsize = 12;  summaryColor = &quot;#000&quot;;  icon2 = &quot; &#187; &quot;;  numposts = 5;  home_page = &quot;http://itechplus.info/&quot;;  </script>  <script type='text/javascript'>  //<![CDATA[  function removeHtmlTag(strx,chop){      var s = strx.split("<");      for(var i=0;i<s.length;i++){          if(s[i].indexOf(">")!=-1){              s[i] = s[i].substring(s[i].indexOf(">")+1,s[i].length);          }      }      s =  s.join("");      s = s.substring(0,chop-1);      return s;  }  function showrelatedposts(json) {      j = (showRandomImg) ? Math.floor((imgr.length+1)*Math.random()) : 0;      img  = new Array();        for (var i = 0; i < numposts; i++) {          var entry = json.feed.entry[i];          var posttitle = entry.title.$t;          var pcm;          var posturl;          if (i == json.feed.entry.length) break;          for (var k = 0; k < entry.link.length; k++) {                if (entry.link[k].rel == 'alternate') {                  posturl = entry.link[k].href;                  break;                }          }          for (var k = 0; k < entry.link.length; k++) {                if (entry.link[k].rel == 'replies' && entry.link[k].type == 'text/html') {                  pcm = entry.link[k].title.split(" ")[0];                  break;                }          }          if ("content" in entry) {                var postcontent = entry.content.$t;}          else          if ("summary" in entry) {                var postcontent = entry.summary.$t;}          else var postcontent = "";          postdate = entry.published.$t;      if(j>imgr.length-1) j=0;      img[i] = imgr[j];      s = postcontent    ; a = s.indexOf("<img"); b = s.indexOf("src=\"",a); c = s.indexOf("\"",b+5); d = s.substr(b+5,c-b-5);      if((a!=-1)&&(b!=-1)&&(c!=-1)&&(d!="")) img[i] = d;      cmtext = (text != 'no') ? '<i><font color="'+acolor+'">('+pcm+' '+text+')</font></i>' : '';      var month = [1,2,3,4,5,6,7,8,9,10,11,12];      var month2 = ["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"];      var day = postdate.split("-")[2].substring(0,2);      var m = postdate.split("-")[1];      var y = postdate.split("-")[0];      for(var u2=0;u2<month.length;u2++){          if(parseInt(m)==month[u2]) {              m = month2[u2] ; break;          }      }      var daystr = (showPostDate) ? '<i><font color="'+acolor+'"> - ('+day+ ' ' + m + ' ' + y + ')</font></i>' : "";  posttitle = (aBold) ? "<b>"+posttitle+"</b>" : posttitle;      var trtd = '<img src="http://farm3.static.flickr.com/2426/3638176588_31366a6822_o.gif"/> <a class="mota-desc" href="'+posturl+'" style="color:'+acolor+'; font-size:'+fntsize+'px;">'+posttitle+'<span><div style="color:'+motacolor+';">'+posttitle+' </div>'+cmtext+ ' ' + daystr + ' <br/><img src="'+img[i]+'" style="float:left; border: #ccc 1px solid; padding:2px; margin-right:4px;" width="'+imgwidth+'" height="'+imgheight+'"/>'+icon2+removeHtmlTag(postcontent,summaryPost)+'...</span></a> <br/>';      document.write(trtd);      j++;  }  }  //]]>  </script>
Trong đoạn code trên :
  • imgwidth = 60; , imgheight = 60; : kích thước ảnh thumbnail sẽ hiển thị trong phần mô tả
  • fntsize = 12; : size chữ của tiêu đề bài viết
  • acolor = "#555"; : màu của tiêu đề bài viết
  • motacolor = "#f00"; : màu của tiêu đề bài viết trong phần mô tả
  • summaryPost = 150; : số kí tự hiển thị trong phần mô tả bài viết
  • summaryFontsize = 12; : size chữ của phần mô tả
  • summaryColor = "#000"; : màu chữ của phần mô tả
  • numposts = 5; : số bài viết sẽ hiển thị trong list các bài liên quan của mỗi nhãn. Chú ý: giá trị này phải chỉnh bằng với giá trị max-results=5 ở bước 3.
  • home_page = "http://itechplus.info/"; : thay bằng địa chỉ URL của blog bạn
3. Tìm trong template dòng code sau :
<data:post.body/>
và ngay sau nó chèn đoạn code bên dưới :
<b:if cond='data:blog.pageType == &quot;item&quot;'>  <div id='related-posts'>  <font face='Arial' size='3'><b>Bài viết liên quan : </b></font><br/>  <b:loop values='data:post.labels' var='label'><b>Nhãn : </b><font color='#FF0000'><data:label.name/></font><br/>  <b:if cond='data:blog.pageType == &quot;item&quot;'>  <script expr:src='&quot;/feeds/posts/default/-/&quot; + data:label.name + &quot;?max-results=5&amp;orderby=published&amp;alt=json-in-script&amp;callback=showrelatedposts&quot;' type='text/javascript'/>  </b:if>  </b:loop>  </div>  </b:if>
Chúc các bạn thành công !
iTechPlus ( tổng hợp )
 

Blogger news

Blogroll

About