Home » , » Bài viết liên quan theo nhiều label cho blogspot

Bài viết liên quan theo nhiều label cho blogspot

Written By Unknown on Thứ Ba, 23 tháng 9, 2014 | 01:32

Bài viết liên quan theo nhiều label cho blogspot - Code bài viết liên quan theo nhiều label cho blogspot - Bài viết liên quan theo nhiều nhãn cho blogspot


Sau đây Share102 xin giới thiệu với các bạn 1 thủ thuật blogspot:  "Bài viết liên quan - Related posts" dựa trên nhiều label (nhãn) và đã được sửa lỗi hiển thị font Tiếng Việt của đoạn code gốc. Bằng cách này sẽ hiển thị được nhiều bài viết liên quan đến nhiều label hơn, hướng visitor đến những bài cùng chủ đề tốt hơn.

Hướng dẫn cách thêm Bài viết liên quan theo nhiều label cho blogspot

Cách thực hiện

Bước 1- Đăng nhập vào Blog ==> Vào Mẫu ==> Chọn Chỉnh sử HTML (Edit HTML)

Khuyên các bạn nên down trực tiếp tất cả code blogspot về rồi chỉnh sửa bằng notepad ++ cho dễ nhé (chú ý sao lưu giữ lấy 1 bản để làm bản gốc để tránh trường hợp bị sai code ko phôi phục lại dc)

Bước 2 - Tìm một trong 4 đoạn code như bên dưới:

Đoạn 1: <div class='post-footer'>
Đoạn 2: <div class='post-footer-line post-footer-line-1'>
Đoạn 3: <div class='post-footer-line post-footer-line-2'>
Đoạn 4: <div class='post-footer-line post-footer-line-3'>


- Và gắn vào sau 1 trong 4 đoạn trên đoạn code bên dưới. (Lưu ý mỗi code trên mỗi đoạn có 2 lần lặp lại giống nhau bạn phải chèn đúng mới hiện thị nha). Vì vậy bạn cứ thêm lần lượt vào từng đoạn rồi up lên thử xem có hiển thị được không,nếu ko dc thì xóa đi rồi thêm vào đoạn code tiếp theo đên khi nào thấy hiển thi thì dừng


<!-- related post -->
<b:if cond='data:blog.pageType == &quot;item&quot;'>
<div class='widget-content'>
<h2>Các bài liên quan</h2>
<div id='saliproit183'/><br/><br/>
&lt;script type=&quot;text/javascript&quot;&gt;
homeUrl3 = &quot;share102.blogspot.com&quot;;maxNumberOfPostsPerLabel = 6;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;
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+21);
label = decodeURIComponent(label);
var txt = document.createTextNode(label);
var h = document.createElement(&#39;h4&#39;);
h.appendChild(txt);
var div1 = document.createElement(&#39;div&#39;);
div1.appendChild(h);
div1.appendChild(ul);
document.getElementById(&#39;saliproit183&#39;).appendChild(div1);
}
}
}
function search10(query, label) {
var script = document.createElement(&#39;script&#39;);
script.setAttribute(&#39;src&#39;, &#39;http://&#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>
&lt;/script&gt;
</div>
</b:if><br/><!-- /related post -->
Chú ý:
  • Bạn sẽ phải thay đổi cho phù hợp với cách sắp xếp hiển thị bài viết liên quan theo nhãn phù hợp
  • Thay share102.blogspot.com bằng địa chỉ blog của bạn, lưu ý không có "/"  ở cuối và http://ở đầu. (ví dụ link blog bạn là http://share102.blogspot.com/   thì bạn chỉ lấy share102.blogspot.com và thay vào đó thôi )
  • maxNumberOfPostsPerLabel là tối đa số bài viết hiển thị ở mỗi nhãn (label). Ở code trên là mình để là 6
  • maxNumberOfLabels là số nhãn (label) sẽ được hiển thị. Ở code trên là mình để là 3

Cách tạo : Bài viết liên quan cũ và mới cho blogspot

Thủ thuật blogger

Cách thực hiện

Bước 1- Đăng nhập vào Blog ==> Vào Mẫu ==> Chọn Chỉnh sử HTML (Edit HTML)

Khuyên các bạn nên down trực tiếp tất cả code blogspot về rồi chỉnh sửa bằng notepad ++ cho dễ nhé (chú ý sao lưu giữ lấy 1 bản để làm bản gốc để tránh trường hợp bị sai code ko phôi phục lại dc)

Rồi dán đoạn code bên dưới vào trước thẻ ]]></b:skin>:
(Các bạn có thể down toàn bộ code về rồi dùng Notepad ++ để chỉnh sửa cho dễ nhớ sao lưu 1 bản để phòng bị lỗi code)
#related-posts-block ul{background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhHOu9-at7tnNwdHwmcB2jny3wCkd_HUzZQn-t30uGiet-GyhWIDhkXj93dgqDqTZVJrKnhmZ2kfsn88PmWWloayd-EWbEY7EL7i8Ba5ibBGDPVeXfkE5go2g8rGFjJXICHUeyPSx2ue18/s1600/bg_other_bittuot-blogpot.jpg) repeat-x;margin:0px 0 0 0;padding:6px 0 0 0;list-style:none}
#related-posts-block li{margin:0 0 0 8px;background:url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEjCSgQXBrzFvkBY0aBzkR3p33z4Lxh_P98r2i5q1dPisi52ydBq807Ze5SjSehK-OPVdi7t_Dc2cTFTa4le2TbeuOXN-nRqfWXb7scweypWu9YX3ZZ05r9ImFSG0wKTV-lRyW-u7I2-yMQ/s1600/li_bittuotblog-blogspot-com.png) 0 5px no-repeat;padding-left:15px}
#related-posts-block{line-height:1.5;margin:0 0;font-size:11px;color:#7c7b7b}
#related-posts-loading-text{font-size:12px;text-align:center;color:#002c28}
#related-newest-href{margin:10px 0 2px}#related-newest-title{font-size:12px;margin:5px 0 0 0;color:#033947}
#related-posts-block #related-newest-href a{font-size:12px;font-family:Arial,Helvetica,sans-serif;color:#002c28}
#related-posts-block #related-newest-href a:hover{color:#00f}#related-older-href{margin:10px 0 2px}
#related-older-title{font-size:12px;margin:5px 0 0 0;color:#033947}
#related-posts-block #related-older-href a{font-size:12px;font-family:Arial,Helvetica,sans-serif;color:#002c28}
#related-posts-block #related-older-href a:hover{color:#00f}
#related-posts-block > div {float: left;width: 48%;}

Bước 2 - Tìm một trong 4 đoạn code như bên dưới:

Đoạn 1: <div class='post-footer'>
Đoạn 2: <div class='post-footer-line post-footer-line-1'>
Đoạn 3: <div class='post-footer-line post-footer-line-2'>
Đoạn 4: <div class='post-footer-line post-footer-line-3'>


- Và gắn vào sau 1 trong 4 đoạn trên đoạn code bên dưới. (Lưu ý mỗi code trên mỗi đoạn có 2 lần lặp lại giống nhau bạn phải chèn đúng mới hiện thị nha). Vì vậy bạn cứ thêm lần lượt vào từng đoạn rồi up lên thử xem có hiển thị được không,nếu ko dc thì xóa đi rồi thêm vào đoạn code tiếp theo đên khi nào thấy hiển thi thì dừng
//]]>
</script>

<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>

<div id='post-timestamp-for-related' style='display:none'><data:post.timestampISO8601/></div>
<div id='related-posts-block'><div id='related-posts-loading-text'>Loading...<br/><img align='absmiddle' src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEgVQciEhIZqiVa98LHL9qrucx8b5b1IdirYigrhGhKW3Z62WrTqgqdrGzbuNsCqWSeMLMr6g9wnaVtk-WKGfYmZHCE5XsbAXResZO-CV-5Wi8SgHdQVoPti2zLitJUi4vaUwfUlNlu4baQJ/'/></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>

<script type="text/javascript">
    //<![CDATA[
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 = "<b>Các bài viết mới cùng chủ đề</b> ";
                                
   }
  }
 } else {
  document.getElementById("related-older-title").innerHTML = "<b>Không có bài viết mới nào cùng chủ đề</b>";
 }
}

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 = "<b>Các bài viết cũ cùng chủ đề </b>";
   }
  }
 } else {
  document.getElementById("related-older-title").innerHTML = "<b>Không có bài viết cũ nào cùng chủ đề</b>";
 }
        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> 
Chú ý:
  • var showdate = true; Nếu không muốn hiển thị ngày tháng đăng bài, bạn thay True thành False
  • var max_post = 8; Số bài viết hiển thị trong mỗi phần (Bài cũ và bài mới) của tiện ích

0 nhận xét:

Đăng nhận xét

Bình luận