
BreadCrumbs是麵包屑的意思,也就是文章的導引列,可以詳細的列出此篇文章的上源結構的一種導覽方式,也是方便讀者想讀取同一分類文章的作法,有需要的人可以參考看看。

設定方法有些複雜,但我想依照步驟慢慢做,應該就沒問題,呈現的方式類似這樣,裡面的關鍵字或是呈現出來的形式,則是可以自己再行設計,

切記,一定要先備份原始模版,因為放了這些語法,會導致整個主文區的html整個都不一樣,不是刪減就能挽回的,
進入後台→版面配置→修改Html→勾選"展開小裝置範本",
第一步驟,
先加入導覽列的外觀型式css語法,放在]]></b:skin>之前即可,
.breadcrumbs {
padding:5px 5px 5px 0px;
margin: 0px 0px 15px 0px;
font-size:95%;
line-height: 1.4em;
border-bottom:3px double #e6e4e3;
}
border-bottom:3px double #e6e4e3;這是在導覽列下方有個雙線條的設計,這裡你可以改成你要的線條或是加上背景也是可以的。
第二步驟,
找到<b:includable id='main' var='top'>這段主文區最上方語法,原始的語法是
<b:includable id='main' var='top'>
<!-- posts -->
<div class='blog-posts hfeed'>
<b:include data='top' name='status-message'/>
<data:adStart/>
在中間加入三行紅色的語法,變成如下列這樣,
<b:includable id='main' var='top'>
<!-- posts -->
<div class='blog-posts hfeed'>
<!-- disable default status message
<b:include data='top' name='status-message'/>
default status message disabled -->
<b:include data='posts' name='breadcrumb'/>
<data:adStart/>
第三步驟,
在<b:includable id='main' var='top'>之前加入以下這段語法,所以他呈現的地方是在主文區的上方,
<b:includable id='breadcrumb' var='posts'>
<b:if cond='data:blog.homepageUrl == data:blog.url'>
<!-- No breadcrumb on front page -->
<b:else/>
<b:if cond='data:blog.pageType == "item"'>
<div class='breadcrumbs'>
Browse » <a expr:href='data:blog.homepageUrl' rel='tag'>Home</a>»
<b:loop values='data:posts' var='post'>
<b:if cond='data:post.labels'>
<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>
»<span><data:post.title/></span>
</b:if>
</b:loop>
</div>
<b:else/>
<b:if cond='data:blog.pageType == "archive"'>
<div class='breadcrumbs'>
Browse » <a expr:href='data:blog.homepageUrl'>Home</a> » Archives for <data:blog.pageName/>
</div>
<b:else/>
<b:if cond='data:blog.pageType == "index"'>
<div class='breadcrumbs'>
<b:if cond='data:blog.pageName == ""'>
Browse » <a expr:href='data:blog.homepageUrl'>Home</a> » All posts
<b:else/>
Browse » <a expr:href='data:blog.homepageUrl'>Home</a> » Posts filed under <data:blog.pageName/>
</b:if>
</div>
</b:if>
</b:if>
</b:if>
</b:if>
</b:includable>
上面的紅色的Browse及Home是預設的文字,你可以改成你要的文字,一共有四組,例如瀏覽或首頁都是可以的,綠色的部份則是相關敘述,也可以改成中文,如下圖這樣,按下儲存,你的文章導覽列就出現了。

目前這項功能是將導覽列放在文章標題上方,如果你想放在文章末或是文章標題下方,目前我自己測試過,沒法達成,或許有高手再分享。
另外Abin也有介紹以年月份做分類的導覽連結列 (Year & Month Breadcrumbs),因為有的人的分類標籤不只一種,喜歡這種方式的人也可以使用看看。
2009.11.3.10:00pm更新,
有網友提到標題重複兩次的部份,可以將第三步驟裡面的(紫色)
<span><data:post.title/></span>
這部分刪除就可以不會有兩次標題的情形。參考來源:
Make breadcrumb on top of post
我發覺你這樣變成有2行一樣的標題耶!
回覆刪除對啊,所以字要設小一點。
回覆刪除(你這篇我剛好感興趣, 我不是要來踢館的, 先聲明...)
回覆刪除1.我發現他就是把本來在 span class='post-labels' 的程式碼搬家而已, 也有 b:loop, 所以分類有1個以上也會出現才對吧?
2.針對我以上的推論, 和你說的'放在...文章標題下方', 我試作了一下, 把 span class='post-labels' 那段搬到文章標題下方. 完全成功!
sample 在這裡:
http://www.ojisang.com/
我相信程式碼你一定都看懂, 有疑問請儘管提出.
只是我覺得, 那導覽列放標題下方看起來不會很奇怪嗎?
先解決標題重複的部份,等一下再來看你的方式,我很高興有人願意分享,我才能夠再補充資料,很感謝。
回覆刪除謝謝你,托你的福,我已經解決了分類的問題。
回覆刪除很實用的技巧,多謝指導囉!
回覆刪除改了之後我也覺得不錯用,尤其對分類多的之後。
回覆刪除我非常喜歡這裡
回覆刪除從這裡幫助了我的部落格更新許多
這功能也非常實用
(尤其對不會程式碼的我)
謝謝分享
謝謝你的鼓勵,慢慢看,你也會跟我一樣學會稍微了解怎麼看程式碼的。
回覆刪除