top

カレンダーを追加する(3.2版 静的生成用)

MT3.2からはデフォルトのテンプレートからカレンダーがなくなってしまいました。でもカレンダーが欲しい!と思うことだってありますよね。で、カレンダーを追加してみます。

以下は3.17時代に使っていたカレンダーのテンプレートを3.2用にclass名を変えて適応させたものです。なお、私の好みで「日付にマウスを当てると、エントリーのタイトルが表示される機能」が追加されてます。便利です。

<注意>
3.2のダイナミック・パブリッシング下では以下のタグではカレンダーが正常に表示されませんのでご注意下さい。3.2以前のダイナミック・パブリッシング頁でカレンダーを表示させたい時は、こちらのダイナミック対応タグを参考にして下さい。なお、3.3以降は以下のタグでダイナミック頁でも問題なく表示されます。

■カレンダーの設置

1.以下の記述をテンプレートのサイドバーなどカレンダーを表示させたい場所に追加します。

<div class="module-calendar module">
<h2 class="module-header">カレンダー</h2>
<div class="module-content">
<table summary="投稿されたエントリーへのリンク付き月間カレンダー">
<caption><$MTDate format="%B %Y"$></caption>
<tr>
<th abbr="日曜日">日</th>
<th abbr="月曜日">月</th>
<th abbr="火曜日">火</th>
<th abbr="水曜日">水</th>
<th abbr="木曜日">木</th>
<th abbr="金曜日">金</th>
<th abbr="土曜日">土</th>
</tr>
<MTCalendar>
<MTCalendarWeekHeader><tr></MTCalendarWeekHeader>
<td><MTCalendarIfEntries><MTEntries lastn="1">
<a title="<$MTEntryTitle$>" href="<$MTEntryPermalink$>"><$MTCalendarDay$></a>
</MTEntries></MTCalendarIfEntries>
<MTCalendarIfNoEntries><$MTCalendarDay$>
</MTCalendarIfNoEntries>
<MTCalendarIfBlank>&nbsp;</MTCalendarIfBlank></td>
<MTCalendarWeekFooter></tr></MTCalendarWeekFooter>
</MTCalendar>
</table>
</div></div>

2.以下の記述をテンプレートのstyles-site.cssに追加します

.module-calendar table { width: 100%; }
.module-calendar caption { }
.module-calendar th { }
.module-calendar td { }

captionが「○○年○月」、thが「月~日」、tdが日付の部分です。
スタイルシートの中身は(↑上の例は空っぽになってますので)各自で好きなよーに飾ってやって下さい。

(2006年2月20日訂正)