Blogger裡原本的網誌分類,只能使用時間來分類,沒有辦法使用類型來分
但是Blogger裡提供的小工具有一個叫【標籤】其實就可以用來當類型分類
不過,卻沒辦法有階層的分類,這個就必需修改標籤這個工作的html碼才能達成
修改html達成這個要求的方法很多,並沒有特定一定要用那個,可以在google搜尋
【blogger 標籤 階層】這個關鍵字就能找到很多範例,目前我所使用的是參考
http://gormit-gk.blogspot.com/2010/01/blog-post_24.html
這篇文章作修改的
在看原始碼前我們先來看看修該後要怎麼使用分類吧
原則上是使用[]來進行分類的
【blogger 標籤 階層】這個關鍵字就能找到很多範例,目前我所使用的是參考
http://gormit-gk.blogspot.com/2010/01/blog-post_24.html
這篇文章作修改的
在看原始碼前我們先來看看修該後要怎麼使用分類吧
原則上是使用[]來進行分類的
[第一層][第二層]標籤 的格式來定義標籤即可
<b:widget id='Label3' locked='false' title='文章分類(v2)' type='Label'>
<b:includable id='main'>
<b:if cond='data:title'>
<h2><data:title/></h2>
</b:if>
<div expr:class='"widget-content " + data:display + "-label-widget-content"'>
<script>
var label_tree= new Object();
function tn(tag)
{
return tag.substring(1,tag.length-1);
}
function build_node(tree,idx,cnt)
{
if(!tree[idx[0]]){
tree[idx[0]]=new Object();
tree[idx[0]]['_cnt']=0;
tree[idx[0]]['_item']=new Array();
}
tree[idx[0]]['_cnt'] = parseInt(tree[idx[0]]['_cnt']) + parseInt(cnt);
if(idx.length==1){
return tree[idx[0]];
}
return build_node(tree[idx[0]],idx.slice(1),cnt);
}
function add_label(_name,_cnt,_url,_dir)
{
var e1 = new RegExp("\\[(.+?)\\]","g");
var e = new RegExp("\\[(.+)\\]","g");
var m = _name.match(e);
var tag = _name;
var obj=new Object();
obj['tag']=_name;
obj['cnt']=_cnt;
obj['dir']=_dir;
obj['url']=_url;
if(m){
obj['tag']= _name.substring(m[0].length,_name.length);
var m1 = _name.match(e1);
if(m1){
node=build_node(label_tree,m1,_cnt);
if(node){
node['_item'].push(obj);
}
}
}
else{
if(!label_tree['_item']){
label_tree['_item']=new Array();
}
label_tree['_item'].push(obj);
}
}
function menu_exp(id)
{
var ul=document.getElementById("ul_"+id);
var li=document.getElementById("li_"+id);
if (ul.style.display=="none"){
ul.style.display="block"
li.style.backgroundImage="url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEi9OVwvp0vbgD6w1wMld9zPYjNypPNHc70a171hKMbsHZk61XNdIjS99tLl0EHX7rKB8MqDxaqi9FWrFObNloNvxtbokTNApYahiYw4N4KPj0KsJGxr5Et6wsi3_LsoFeVV2EQZVl1V-X0/)"
}
else {
ul.style.display="none"
li.style.backgroundImage="url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk0G-oURx6cCEFzyh-mDWTb4AV25QkvW_vDsoeb5C6yB13PQPOpu_LFvPDTeCRJjweOgkAbn0WRMKeV0pjQvXA-HzrvWCdjbO1yIGTa3P7eME4UrJLOk2u_zeUcSVY91RhdcuRaQECDo8/)"
}
}
function draw_obj(obj)
{
document.write("<li style='padding-left: 0px>'");
document.write("<img src='https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhyU055DRmgKjEbQbURDPpZhtorlsh_tAz24HhgKgFdq37YhqZXTH3an4aWNv5V3XG-KhQFhZwkzFGL-O1IJoMj5HF3N884a8nxuAE_aOWRhsgHSbCnJAoccA99Uhz86lkMUE4-6uMgVSE/s1600/icon-yellow-bullet.png' /><a dir='"+obj['dir']+"' href='"+obj['url']+"'>"+obj['tag']+"</a>");
document.write("<span dir='"+obj['dir']+"'>("+obj['cnt']+")</span>");
document.write("</li>\n");
}
function draw_tree(tree)
{
for(var tag in tree){
if(tag!='_item'&& tag!='_cnt'){
var rid = Math.random();
document.write("<li class=submenu id=li_"+rid+" onclick=menu_exp('"+rid+"'); style='font-weight:bold;padding-left: 20px;background: url(https://blogger.googleusercontent.com/img/b/R29vZ2xl/AVvXsEhk0G-oURx6cCEFzyh-mDWTb4AV25QkvW_vDsoeb5C6yB13PQPOpu_LFvPDTeCRJjweOgkAbn0WRMKeV0pjQvXA-HzrvWCdjbO1yIGTa3P7eME4UrJLOk2u_zeUcSVY91RhdcuRaQECDo8/) no-repeat left 0px;cursor: pointer'>");
document.write(tn(tag));
document.write("("+tree[tag]['_cnt']+")");
document.write("</li>");
document.write("<ul id=ul_"+rid+" style='display:none;padding-left: 20px'>");
draw_tree(tree[tag]);
document.write("</ul>\n");
}
}
if(tree['_item']){
for(var i=0;i < tree['_item'].length;i++){
draw_obj(tree['_item'][i]);
}
}
}
</script>
<b:loop values='data:labels' var='label'>
<script>
add_label('<data:label.name/>','<data:label.count/>','<data:label.url/>','<data:blog.languageDirection/>');
</script>
</b:loop>
<ul>
<script>
draw_tree(label_tree);
</script>
</ul>
<b:include name='quickedit'/>
</div>
</b:includable>
</b:widget>
電腦語言我雖然不熟,但20多年前在電腦公司上班,常看到軟體工程師每天都在寫,甚至寫到頭髮都變地中海了,現代人好幸福,很多都是寫好的套裝軟體,只要會操作使用就可以了!
回覆刪除寫程式其實是一種樂趣,只要樂在其中其實也沒有那麼痛苦啦,哈哈
回覆刪除