MovableTypeの月別アーカイブ(Monthly Archive)は、標準のmain indexテンプレートでは、月ごとに1行づつ表示が追加されていく。これを回避するためにプルダウンメニューにするカスタマイズを採っているところが多いが、むるダウンメニューでは結局メニューを表示するとずらっと表示されてしまうので別の方法がないかとWebを調べ、ArchiveDateHeaderプラグインとMTPerlScriptプラグインんを使って次のように表示するよう変更した。
月別アーカイブ一覧の表示方法を変更

参考にしたサイトは以下のとおり。
Junkline : MT の過去ログリンク表示を nDiary (ごにょり済み)風にで、MTArchiveListタグ内で年が変わったときにヘッタを表示できる
ArchiveDateHeaderプラグインの存在を知った。
また、ぬりかべブログ : ArchiveDateHeader Plugin の応用でArchiveDateFooterに相当することを、MTPerlScriptスクリプトを使って実現する方法を知った。この内容はArchiveDateHeaderプラグインを公開しているサイトのコメントとして掲載されていたとのこと。
具体的なカスタマイズの内容は以下のとおり。
(1) ArchiveDateHeaderプラグインを導入
Adam Kalsey : Archive Date Header Pluginから、ArchiveDateHeader.zipをダウンロード・解凍する。
ArchiveDateHeader.plを(MT)/plugins/にアップロードし、属性を705に変更する。
(2) MTPerlScriptスクリプトを導入
Brad Choate: PerlScript Pluginから、mtperlscript-1_4.zipをダウンロード・解凍する。
perlscript.plを(MT)/plugins/に、perlscript.pmを(MT)/extlib/bradchoate/にアップロードし、両方の属性を705に変更する。
(3) main indexテンプレートの月別アーカイブ一覧の箇所を変更
以下のとおり変更した。
<div class="sidetitle">
これまでの記事(月別)
</div>
<div class="side">
<TABLE border="0" cellpadding="3">
<MTArchiveList archive_type="Monthly">
<MTArchiveDateHeader>
<tr><td valign="top" width="25%">
<b><$MTArchiveDate format="%Y"$></b>
</td><td valign="top" width="75%">
</MTArchiveDateHeader>
<a href="<$MTArchiveLink$>" title="<$MTArchiveCount$>件の日記"><$MTArchiveDate format="%m"$></a>
<MTPerlScript>
$a = '<MTArchivePrevious><$MTArchiveDate format="%Y"></MTArchivePrevious$>';
$b = '<$MTArchiveDate format="%Y"$>';
if ($a ne $b) {print "</td></tr>"};
</MTPerlScript>
</MTArchiveList>
</table>
</div>
MovableTypeの月別エントリ一覧は月ごとに1行表示されて、長い期間使い続...
続きを読むMTカスタマイズ(月別エントリ) »
