カレンダーのリンク方法の変更

随分前にやったことなんだけど、忘れないうちに書いておこうかなと。
Tipsの方かなーとも思ったんだけど、MTに機能追加するんじゃなくて、
テンプレカスタマイズの方で対応できるものなので、こちらのカテゴリに。
MTでブログ作ると、通常以下のアーカイブが作られる。
・個別アーカイブ(投稿記事ごと)
・月別アーカイブ(投稿月ごと)
・日別アーカイブ(投稿日ごと)
・カテゴリ別アーカイブ(投稿カテゴリごと)
んで、それぞれ別のhtmlファイルなもんだから、
ログがたまってくると膨大な量のファイルになるわけだ。
あんまりファイルが増えるとサーバーが重くなるし…
ってことで、少しでもサーバー軽くするために、日別アーカイブを作らないように設定。
ただ、これだとカレンダーから投稿日ごとの記事へのリンクが死んでしまうので、
月別アーカイブの該当日付部分へカレンダーからして飛べるようにしてみた。


では、以下やりかたを。
まず、インデックスページのカレンダータグを書き換え。
デフォルトタグはこれ。

<MTCalendar>
<MTCalendarWeekHeader>
<tr>
</MTCalendarWeekHeader>
<td>
<MTCalendarIfEntries>
<MTEntries lastn="1">
<a href="<$MTEntryPermalink$>">
<$MTCalendarDay$>
</a>
</MTEntries>
</MTCalendarIfEntries>

これのうち
<a href="<$MTEntryPermalink$>">
のリンクターゲット部分を
<a href="<$MTArchiveLink archive_type="Monthly"$> #a<$MTEntryID pad="1"$<" target="blank">
に書き換えて保存、再構築。
んで、次に日付エントリーアーカイブテンプレートを一部書き換え。

デフォルトタグ

<MTEntries>
<$MTEntryTrackbackData$>
<MTDateHeader>
<h2><$MTEntryDate format="%x"$></h2>
</MTDateHeader>

書き換え後

<MTEntries>
<$MTEntryTrackbackData$>
<a id="a<$MTEntryID pad="1"$>"></a>(追加部分)
<MTDateHeader>
<h2><$MTEntryDate format="%x"$></h2>
</MTDateHeader>

んで、保存・再構築。
トップページのカレンダーから過去ログに飛んでもらえればわかると思うけど、
これで、カレンダーの日付のリンクから、月別アーカイブの該当日付のところに飛んでくよーになる。
日付アーカイブがないだけでもサーバー的には多少マシかな?
 #ちなみに、<>は全角にしてあるのでそのままコピペ不可です
 #コピペしたい場合は半角に置換してくださいまし
次にこのカテゴリ書くときは、過去ログ用のドロップダウンリストのタグの覚書だな。。。