2013年10月11日 星期五

網誌存檔預設收合 (Archives Default Collapsed)



網誌存檔預設收合 (Archives Default Collapsed)
原先我是用「網誌存檔」這個 Blogger 的預設模組來做 Archive Calendar,後來搞出 Feed Calendar 後,這個 Archive 模組還是保留(就是我現在版面、旁邊的 MONTHLY ARCHIVE),而且恢復了它的原貌。我喜歡用的樣式是「階層」(Hierarchy)、每月存檔一次,好處是可以依年月動態展開自己發表的文章,方便統計和依時間快速索引。不過這個樣式有個缺點,就是預設會展開、讓在 Sidebar 這個模組變得很長,偏偏 Blogger 並沒有調整預設不要展開的選項,所以只好手動 Hack 一下。
這個 Hack 要修改樣板的原始碼。到「版面配置」、「修改 HTML」、勾選「展開小裝置範本」(記得先手動備份樣板),先找到「網誌存檔」的區段(type='BlogArchive'),找到下面這一段:
<li expr:class='&quot;archivedate &quot; + data:i.expclass'>
然後取代成下面這樣(如果找不到,找關鍵字 data:i.expclass 也行),意思是預設將網誌存檔的樹狀結構收合折疊起來:
<li expr:class='&quot;archivedate collapsed&quot;'>
這樣是收起來了沒錯,但是怎麼預設的箭頭符號還是展開的啊?這一點也要修正。找一下下面這段程式碼:
<b:includable id='toggle' var='interval'>
  <b:if cond='data:interval.toggleId'>
  <b:if cond='data:interval.expclass == &quot;expanded&quot;'>
    <a class='toggle' expr:href='data:widget.actionUrl + &quot;&amp;action=toggle&quot; + &quot;&amp;dir=close&amp;toggle=&quot; + data:interval.toggleId +       &quot;&amp;toggleopen=&quot; + data:toggleopen'>
        <span class='zippy toggle-open'>&#9660; </span>
    </a>
  <b:else/>
    <a class='toggle' expr:href='data:widget.actionUrl + &quot;&amp;action=toggle&quot; + &quot;&amp;dir=open&amp;toggle=&quot; + data:interval.toggleId +         &quot;&amp;toggleopen=&quot; + data:toggleopen'>
          <span class='zippy'>
就修改紅色的地方,把 close 改成 open (預設是展開的,所以連結點下去會收合,改成預設收合後,連結點下去就是 open 囉!),然後把 &#9660; 改成 &#9658;(更改圖示),這樣才算是完整地修改預設的畫面顯示和操作。最後,因為預設這些展開、收合的圖示是用 ASCII 碼中的特殊符號,在 IE6 裡面一樣會莫名其妙放大(再罵一次,IE 真爛),如果你覺得礙眼,一樣可以透過 CSS 來修正。在 CSS 區段(標籤 <b:skin> 後面)裡加入下面的定義就搞定了:
#ArchiveList .toggle-open {  /* Fixed for IE */
  _font-size: 90% !important;
}
其實這篇不是什麼新的玩意,我一直都有在用,只不過用過當時忘了記錄下來,突然臨時發生狀況時不知所措,才趕緊再去找一下解決方案,然後再筆記起來。
參考文章:收縮Blog Archive!

本文引自 http://abintech.twidv.com/2008/10/archives-default-collapsed.html

沒有留言:

張貼留言