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

随分前にやったことなんだけど、忘れないうちに書いておこうかなと。
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>

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

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です