讓標籤能自動樹狀分類 - 部落格

Bethany avatar
By Bethany
at 2011-09-02T12:35

Table of Contents


******************** 2012.6.9 增補 *******************************

本篇為兩層樹狀標籤,如果有兩層以上的需求,請參考「讓 Blogger的
標籤能"多層"樹狀分類:

http://www.wfublog.com/2013/01/multi-tree-label-update.html

*******************************************************************


一、前言:

讓 Blogger 標籤能樹狀分類的方法找了很久,一直沒有比較便利的方
式,大多是需要手動增加。直到在網路上找到「愣阿批居:Blogger
支援樹狀結構多層次標籤」這個方案最佳,優點為:「1. 可分類標籤」
、「2. 大分類可收合(節省空間)」、「3. 不必手動擴充標籤」、
「4. 統計各標籤文章數」。

可惜此方案在 IE 下執行會出錯,而偏偏 IE 是最多使用者的瀏覽器。
因 愣大 尚無暇修正 IE 下的 bug,只好自行研究 hack Blogger
的原始碼來達到上面所提的四大需求,請按以下動作來安裝此功能。


二、準備動作

1. 將 Blogger 所有的標籤改為 "AAA-BBB" 的格式,AAA 代表大分類,
BBB 代表真正的標籤名稱。

2. 到 Blogger 後台打開範本文件:修改 HTML → 勾選展開小裝置範


3. 接著把下面的 Javascript 插入 </head> 的前面:

<script type='text/javascript'>
var Category_Name=new Array("XXX","YYY,"ZZZ")

function hide(sec)
{
var e = document.getElementById(sec);
if(e.style.display == 'block')
e.style.display = 'none';
else
e.style.display = 'block';
}
function swap(me,main,alt)
{
me.innerHTML = (me.innerHTML == main) ? alt : main;
}
</script>

(1). 以上 "XXX","YYY","ZZZ" 的字串請改為想要的大分類名稱(就
是標籤格式 "AAA-BBB" 中的 AAA)。

(2). 要填入幾個大分類都可以,填入的順序就是在側邊欄由上到下顯
示出來的順序。

(3). 字串必須放在雙引號內,每個字串用逗號隔開。


三、主程式碼

接著參考 愣大 這篇文章:http://ppt.cc/HaJe ,請先確定側邊欄有「
標籤」的小工具,然後要更改的原始碼是 "<b:if cond='data:displ
ay == "list"'>" 一直到 "</b:if>" 之間的幾十行程式碼,請全部置
換為以下內容:

<script type='text/javascript'>

var Print_Category_Title=new Array(Category_Name.length)

for (var i=0;i&lt;=Category_Name.length;i++)
{
if (i==Category_Name.length){break;}
Print_Category_Title[i]=0

document.write("<b:loop values='data:labels' var='label'>")

var OldLabel = "<data:label.name/>"
var LabelPosition = OldLabel.search("-")
var Category = OldLabel.substr(0,LabelPosition)
var NewLabel = OldLabel.substring(LabelPosition+1)

if (Category == Category_Name[i] )
{
if (Print_Category_Title[i]==0)
{
document.write("<div style='color: #073763; font-famil
y: \"標楷體\"; font-weight: bold;'><span onclick='hide(\""+
Category_Name[i] +"\");swap(this,\"?\",\"?\")' style='cursor
: pointer; color: #3778cd;'>?</span>《"+ Category_Name[i] +"》
</div>")
document.write("<div id='"+ Category_Name[i] +"' style
='display: block'>")
}
document.write(" ? <a expr:dir='data:blog.languageDirec
tion' expr:href='data:label.url'><span dir='ltr'>"+ NewLabel
+"</span></a>(<data:label.count/>)<br/>")

if (Print_Category_Title[i]==-1){document.write("</div>")
}
Print_Category_Title[i]=1
}
document.write("</b:loop>")
if (Print_Category_Title[i]==-1){document.write("<div>")}
if (Print_Category_Title[i]==1){document.write("</div>")}
}
</script>

存檔後重新檢視網頁就可以看到效果。


----
Blogger 調校資料庫
http://www.wfublog.com/

----

All Comments

Frederic avatar
By Frederic
at 2011-09-07T01:46
版上好多高手
Poppy avatar
By Poppy
at 2011-09-08T13:43
Oliver avatar
By Oliver
at 2011-09-12T06:29
專業推
Charlie avatar
By Charlie
at 2011-09-15T14:36
專業!
Joe avatar
By Joe
at 2011-09-16T00:20
好用,謝謝!

可以改顯示名稱了

Damian avatar
By Damian
at 2011-09-01T23:07
※ [本文轉錄自 Google 看板 #1ENvzfO3 ] 作者: LKhuei (除了QQ你還能幹嘛) 看板: Google 標題: [情報] blogger可以改顯示名稱了 時間: Thu Sep 1 23:06:14 2011 換了新版的後台介面後 也發現舊版的網誌顯示名稱會與google帳 ...

徵部落客寫手

Caroline avatar
By Caroline
at 2011-09-01T21:35
誠徵部落客寫手 文筆詼諧 幽默 最好擅長描寫出遊旅館,美食相關議題 希望文圖並茂 每篇文字600-800 待遇約 500元 (可詳談) 希望稿量為每周三篇 若人在台北更佳 有意請回信,並附上自己的blog :) 謝謝 -- 鑑生死 辨誣妄 洗冤曲 正政刑 ( ...

Re: PTT Blog板友簽到簿(PTTBlogRolling!)

Kama avatar
By Kama
at 2011-09-01T12:10
ID:windofdeath 網址:http://jesushsieh.blogspot.com/ 站名:CrossRoads 架站環境:blogger 簡介:如同十字路口一樣,可以看到各式各樣的店家,這個網誌,也像是      我的人生的十字路口一樣,記錄敗家、心情、 ...

Re: PTT Blog板友簽到簿(PTTBlogRolling!)

Barb Cronin avatar
By Barb Cronin
at 2011-08-31T22:39
ID: xin1028 網址:http://wenshin1028.blogspot.com/ 站名 : I KNOW I DONand#39;T KNOW. 架站環境:blogger 簡介:想一個部落格很久了,今年八月讓它成為了真實。 裡面塞了許 ...

有關搬家的問題…

Una avatar
By Una
at 2011-08-31T21:49
各位WP的同好大家好, 我有個問題過不去,不知如何是好? 我先將我的狀況說明: 原本我的wordpress架在bluehost(付費空間) 但先在要將其搬回自己家中的mac上。 一、DNS:已更改指回家中的固定IP(輸入http://abc.tw 會開啟根目錄下的index.html) 二、下載:①將b ...