2004年08月30日
続 カレンダーカスタマイズ
ちょっと前にカレンダーのカスタマイズという記事を書いたのですが、その続きを書いちゃいます。
■カレンダーに前月アーカイブに飛ぶリンクをつける
参考Blog:なんだ~!?『INDEXページのカレンダーで、前の月の月別アーカイブにリンクする方法』より
色々調べていたら、カレンダーのテンプレートを作って、インラインフレームで表示させるというのはあったんですよ。
でも、違う方法にしたかったんです。それで辿り着いたのがココでした。
JavaScriptで前月アーカイブに飛ばすと言うものです。
<$MTDate format="%B %Y"$>という箇所を見つけて、その前に以下のJavaScriptを挿入。
(私の場合は、カレンダーの月日の所に当月アーカイブに飛ぶリンクをつけているので、
<a href="<MTBlogURL>archives/<MTDate format="%Y_%m">.html"><$MTDate format="%B %Y"$></a>の前になります。
<script language="JavaScript"><!-- dat=new Date(); yea=dat.getYear(); if (yea < 2000) yea = yea + 1900;mon=dat.getMonth(); document.write('<a href="<MTBlogURL>archives/'); document.write(yea);if(mon == "0") { document.write('_12');}else if(mon < "10") { document.write('_0'); document.write(mon);} else{ document.write('_'); document.write(mon);} document.write('.shtml">≪</a>');// --> </script>
で、月別アーカイブに飛んだ後、さらに前の月にも簡単に移動できる様にと、
月別アーカイブのページにカレンダーと前月、次月へのリンクをつけました。
カレンダーは、そのままindexのテンプレートからもってくるとして、
変更&追加箇所は以下の4点。
あ。ちなみに変更するのは、月別アーカイブのテンプレートです。
デフォルトだと日付アーカイブになってると思います。
(私は、月別アーカイブというのを別に作ってみました。)
<MTCalendar>を<MTCalendar month="this">に変更
<$MTDate format="%B %Y"$>を<$MTArchiveDate format="%B %Y"$>に変更
前月へのリンクは、<MTArchivePrevious><a href="<$MTArchiveLink$>">←</a></MTArchivePrevious>を追加
次月へのリンクは<MTArchiveNext><a href="<$MTArchiveLink$>">→</a></MTArchiveNext>を追加
■横一行のカレンダーにする
参考Blog:ゆるゆるな日々『横1行カレンダー』より
indexに出ているカレンダーでもいいのですが、これだとテンプレートを二列に変更しなきゃいけないし、
カレンダーだけのメニューバーも味気ないし、アーカイブページをあまり重たくしたくない…。
と思い、タイトルバーの下に横一行のカレンダーをつけてみました。
<table border="0" align="center" cellpadding="0" cellspacing="4" bgcolor="#F5F5F5" summary="カレンダー"><tr><td> <div class="calendar"><$MTDate format="%B %Y"$></div></td><td> <MTCalendar><span class="calendar"><MTCalendarIfEntries><MTEntries lastn="1"> <a href="<$MTEntryLink archive_type="Daily"$>"><$MTCalendarDay$></a> </MTEntries></MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$> </MTCalendarIfNoEntries></span></MTCalendar></td></tr></table>
上記を応用して、月別アーカイブカレンダーにつけたカレンダーは以下の通りです。
<div id="calendar"><table border="0" align="center" cellpadding="0" cellspacing="4" bgcolor="#F5F5F5" summary="投稿した日にリンクする月別のカレンダー"><tr><td><MTArchivePrevious><a href="<$MTArchiveLink$>">≪Preview</a></MTArchivePrevious> | <b> <$MTArchiveDate format="%B %Y"$></b><MTCalendar month="this"> <span class="calendar"><MTCalendarIfEntries><MTEntries lastn="1"> <a href="<$MTEntryLink archive_type="Daily"$>"><$MTCalendarDay$></a></MTEntries> </MTCalendarIfEntries><MTCalendarIfNoEntries><$MTCalendarDay$></span> </MTCalendarIfNoEntries></MTCalendar><MTArchiveNext> | <a href="<$MTArchiveLink$>">Next≫</a></MTArchiveNext></td></tr></table></div>
そんなこんなで、カレンダーカスタマイズもどうにか終了ぅ。
変更する場合は、バックアップをとってから実行して下さいね。
でないと、私みたいにふりだしに戻るを何回も繰り返しちゃいますよ(笑)
素敵なカスタマイズ方法を紹介してくださったBlogに感謝し、トラックバックさせて頂きました☆
この場を持ちましてお礼申し上げます。多謝!
読み終わったらClickしてね♪⇒
