底下說明如何網友在看某篇文章時 ,可以在看完文章時,亂數顯示5則跟本篇文章相同性質的標題,方便網友查看相關文章。
<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, '<')).replace(regex2, '>');
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&callback=RelatedLabels&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('<data:post.url/>');
</script>
</b:if>

11 則留言:
您好
可以請教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
呵~
謝謝您
我下戴了
我等會再慢慢研究
您好
我昨天
套入試看看
真的成右欄
欄位有ok
再一次謝謝您
另外
今天因我逐漸又將挪到新模板
發現又外掛http://www.bloggerbuster.com/2008/08/blogumus-flash-animated-label-cloud-for.html
我卻找不到
b:section class='sidebar' id='sidebar' preferred='yes'
我將作者原板的模板套入後
也找不到
如果是這樣..該怎樣做才會出現那句?
可以能否請您再指點一下
謝謝
呵
我忘了改調...
我弄好了
謝謝您喔
大大你好~~我有照您的程式用,但是...我顯示5個相關文章似乎卡卡的....跟我的留言卡在一起也...我該怎麼做呢?還有我可以在上面加入((相關文章))的文字嗎??謝~~
http://cs668.blogspot.com/2009/09/blog-post.html 忘了留網址
晨~~您好:
我有到您的網站看過,因為您己經用了很多類似的小元件,有可能會互相影響,這個很難幫您。
想請問一下,我沒有中間那段要置換掉的語法耶!
那我要貼在哪邊?
CCB您好:
您要確認"展開小裝置範本"是否有勾選到.
張貼留言