[閒聊] Blogger 的相同標籤相關文章列表
常常逛很多部落格文末都會有相關的文章列表
剛剛心血來潮忽然想看看 blogger 是否有這項功能
利用幾個關鍵字搜尋了一下~ 真的被我找到了!
一開始我搜尋標籤雲... 方向錯誤 還好一下子就捨棄了 XD
我參考的是這篇 在Blogger文章下方顯示相關文章
照著改了一兩次就成功了~~~
基本上要注意的就是在修改 HTML 的時候一定要勾選 "開啟小裝置範本"
這樣才會搜尋到要更換的語法片段
為了怕參考文章消失... 手動存檔於本篇!!!
詳細說明請參閱原文 http://victor8314.pixnet.net/blog/post/18965073
於 </head> 前置入下列語法
搜尋下列語法
剛剛心血來潮忽然想看看 blogger 是否有這項功能
利用幾個關鍵字搜尋了一下~ 真的被我找到了!
一開始我搜尋標籤雲... 方向錯誤 還好一下子就捨棄了 XD
我參考的是這篇 在Blogger文章下方顯示相關文章
照著改了一兩次就成功了~~~
基本上要注意的就是在修改 HTML 的時候一定要勾選 "開啟小裝置範本"
這樣才會搜尋到要更換的語法片段
為了怕參考文章消失... 手動存檔於本篇!!!
詳細說明請參閱原文 http://victor8314.pixnet.net/blog/post/18965073
於 </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) { for (var i = 0; i < json.feed.entry.length; i++) { var entry = json.feed.entry[i]; relatedTitles[relatedPostsNum] = entry.title.$t; 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>
搜尋下列語法
<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>整段置換成下列語法
<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>