最近、ブログのカスタマイズにはまり気味。
よそで紹介されていたスクリプトを利用して、デフォルトで用意されているMaster Archive Indexを改造した「カテゴリ別に開閉する全アーカイブリスト」を作ってみた。
できあがったページはこんなふう。
カテゴリは階層的に表示されるようにし、各カテゴリのエントリー数部分をクリックすると、そのカテゴリの全エントリーのタイトルとリンク、投稿日が現れるようにした。
参考にさせてもらったサイトはサブカテゴリを開閉式にしてみる@Techknow Weblog。
こちらで紹介されているスクリプトの<MTSubCategories>?</MTSubCategories>の部分を以下のように書き換える。
<MTSubCategories>
<MTSubCatIsFirst><ul></MTSubCatIsFirst>
<li>
<a href=”<$MTCategoryArchiveLink$>”><U><MTCategoryDescription></U></a>
<MTIfNonZero tag=”MTCategoryCount”>
[<a href=”javascript:void(0);” onClick=”shBlock(‘cat_<$MTCategoryID$>‘);”><MTCategoryCount></a>]
<MTElse>[?]</MTElse>
</MTIfNonZero>
<br />
<div style=”display:none” id=”cat_<$MTCategoryID$>”>
<MTEntries>
└ <a href=”<$MTEntryPermalink$>”><$MTEntryTitle$></a> <$MTEntryDate$><br />
</MTEntries>
</div>
<MTSubCatsRecurse>
</li>
<MTSubCatIsLast></ul></MTSubCatIsLast>
</MTSubCategories>
ポイントは、クリックによって開閉する部分を<div style=”display:none” id=”cat_<$MTCategoryID$>”>?</div>タグで括ってやること。この基本的な考え方が分かるまで、結構苦労しました・・・orz
Movable Typeのバージョンがまだ3.11のままなので、下書き状態のものもエントリ数に含まれてしまうなどの問題点はあるけど、なんとか思ったような形になったかな?
同じようなやり方で、月別アーカイブのリスト表示なども作れそう。
なお、オリジナルのサブカテゴリを開閉式にするリストは、メインページのサイドバーに使用させていただきました。深謝m(_ _)m