1 2 3 4 5 6

廣告

網友您好,若是您覺得我寫的工具或文章對您有幫助,
而您或者您的朋友有在博客來購物,可以透過底下連結

如何在博客來購物贊助網站或是點選計數器下方的博客來圖示來讓網站可以永續經營。

2009年1月14日 星期三

讓blogspot在看單篇文章時會出現相關文章連結

底下說明如何網友在看某篇文章時 ,可以在看完文章時,亂數顯示5則跟本篇文章相同性質的標題,方便網友查看相關文章。
1.進入範本.選修改HTML,把它底下的程式碼放</head>之前

<script type='text/javascript'>
//<![CDATA[
<!-- Script functions for Related Posts: RelatedLabels(), RemoveDuplicatedPosts(), contains(), ShowRelatedPosts()-->
var relatedPostsNum = 0;
var relatedTitles = new Array();
var relatedUrls = new Array();
var relatedDates = new Array();
function RelatedLabels(json) {
  var regex1=/</g, regex2=/>/g;
  for (var i = 0; i < json.feed.entry.length; i++) {
    var entry = json.feed.entry[i];
    relatedTitles[relatedPostsNum] = (entry.title.$t.replace(regex1, '&lt;')).replace(regex2, '&gt;');
    relatedDates[relatedPostsNum] = entry.published.$t.substr(0,10);
    for (var j = 0; j < entry.link.length; j++) {
      if (entry.link[j].rel == 'alternate') {
        relatedUrls[relatedPostsNum] = entry.link[j].href;
        relatedPostsNum++;
        break;
      }
    }
  }
}
function RemoveDuplicatedPosts(PostUrl) {
  var tmpUrls = new Array(0);
  var tmpTitles = new Array(0);
  var tmpDates = new Array(0);
  function contains(a, e) {
    for(var j = 0; j < a.length; j++)
      if (a[j]==e)
        return true;
    return false;
  }
  for(var i = 0; i < relatedUrls.length; i++) {
    if(!contains(tmpUrls, relatedUrls[i]) && PostUrl != relatedUrls[i]) {
      tmpUrls.length += 1;
      tmpUrls[tmpUrls.length - 1] = relatedUrls[i];
      tmpTitles.length += 1;
      tmpTitles[tmpTitles.length - 1] = relatedTitles[i];
      tmpDates.length += 1;
      tmpDates[tmpDates.length - 1] = relatedDates[i];
    }
  }
  relatedTitles = tmpTitles;
  relatedUrls = tmpUrls;
  relatedDates = tmpDates;
}
function ShowRelatedPosts(PostUrl) {
  RemoveDuplicatedPosts(PostUrl);
  var r = Math.floor((relatedTitles.length - 1) * Math.random());
  var i = 0;
  if (relatedTitles.length > 0) {
    document.write('Related Posts: <ul>');
    while (i < relatedTitles.length && i < 5) {
      document.write('<li><a href="' + relatedUrls[r] + '">' + relatedTitles[r] + '</a> - ' + relatedDates[r] + '</li>');
      if (r < relatedTitles.length - 1)
        r++;
      else
        r = 0;
      i++;
    }
    document.write('</ul>');
  }
}
//]]>
</script>
2.將底下程式碼

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
</b:loop>
</b:if>
3.換成底下程式碼

<b:if cond='data:post.labels'>
<data:postLabelsLabel/>
<b:loop values='data:post.labels' var='label'>
<a expr:href='data:label.url' rel='tag'><data:label.name/></a><b:if cond='data:label.isLast != "true"'>,</b:if>
<!-- Fixed for Related Posts -->
<b:if cond='data:blog.pageType == "item"'>
<script expr:src='"/feeds/posts/default/-/" + data:label.name + "?alt=json-in-script&amp;callback=RelatedLabels&amp;max-results=10"' type='text/javascript'/>
</b:if>
</b:loop>
</b:if>
<!-- Fixed for Related Posts -->
<b:if cond='data:blog.pageType == "item"'>
<script type='text/javascript'>
ShowRelatedPosts(&#39;<data:post.url/>&#39;);
</script>
</b:if>

4.這是顯示的結果

11 則留言:

St. 提到...

您好
可以請教blogspot的問題嗎
我爬過許多文
但都沒有相關的解答

因位我(http://trnhy.blogspot.com/)
使用的模板是
http://btemplates.com/2008/03/11/minimalista-negro/

但它的欄位都是在下方
要如何才能將sidebar改成為右方
這問題一直困擾我
可以能否請高手能指點

感激~

一整天 提到...

St.您好:
我把您把它修改成
http://test272586.blogspot.com/
看看是不是您要的.
如果是的話.
檔案在
http://f272586.googlepages.com/test272586.rar

St. 提到...

呵~
謝謝您
我下戴了
我等會再慢慢研究

St. 提到...

您好
我昨天
套入試看看
真的成右欄
欄位有ok
再一次謝謝您

另外
今天因我逐漸又將挪到新模板
發現又外掛http://www.bloggerbuster.com/2008/08/blogumus-flash-animated-label-cloud-for.html

我卻找不到
b:section class='sidebar' id='sidebar' preferred='yes'

我將作者原板的模板套入後
也找不到
如果是這樣..該怎樣做才會出現那句?

可以能否請您再指點一下
謝謝

St. 提到...


我忘了改調...
我弄好了

謝謝您喔

晨~~ 提到...

大大你好~~我有照您的程式用,但是...我顯示5個相關文章似乎卡卡的....跟我的留言卡在一起也...我該怎麼做呢?還有我可以在上面加入((相關文章))的文字嗎??謝~~

晨~~ 提到...

http://cs668.blogspot.com/2009/09/blog-post.html 忘了留網址

一整天 提到...

晨~~您好:
我有到您的網站看過,因為您己經用了很多類似的小元件,有可能會互相影響,這個很難幫您。

St. 提到...
作者已經移除這則留言。
CCB 提到...

想請問一下,我沒有中間那段要置換掉的語法耶!
那我要貼在哪邊?

一整天 提到...

CCB您好:
您要確認"展開小裝置範本"是否有勾選到.

贊助

彰化一整天粉絲團