« MTタグの<、>、"、&をブラウザでそのまま表示する(自分用メモ) | メイン | ビスクドールが欲しい »
2005年05月20日
カレンダーのカスタマイズ(自分用メモ)
・メインページのカレンダーに、先月の月別アーカイブのリンクを作る方法
メインページ(index.html)のカレンダーの表題、「2005年03月」 を 「≪ 2005年03月」 のような表示にして、先月の月別アーカイブへリンクするようにテンプレートを変更する。
カレンダー表示のブロックに以下のタグを見つける。
<$MTDate format="%B %Y"$>
このタグの直前に以下のJavaScriptを追加する。
<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('/index.html">≪</a> ');
// --></script>
JavaScriptで先月を計算して、リンクURLを作成して出力している(document.write)。 デフォルトでは http://サーバ名/archives/2005/02/index.html というリンクになる。 ブログの設定で、月別アーカイブが http://サーバ名/archives/2005_02.html などの場合は、
'/12' → '_12'
'/0' → '_0'
'/' → '_'
index.html → .html
という変更が必要。
*************************************************・月別アーカイブでカレンダー部分に、先月と来月へのリンクを作成する方法
カレンダー表示ブロックで以下の記述を探す。
<caption class="calendarhead"><$MTDate format="%B %Y"$></caption>
これを、以下のように変更。
<caption class="calendarhead"><MTArchivePrevious><a href="<$MTArchiveLink$>">≪</a></MTArchivePrevious> <$MTArchiveDate format="%B %Y"$> <MTArchiveNext><a href="<$MTArchiveLink$>">≫</a></MTArchiveNext></caption>
これで、「≪ 2003年03月 ≫」のように、前月と次月へのリンクが表示される。
最新月では、きちんと次月へのリンクが表示されない仕様になっている。
投稿者 coboratory : 2005年05月20日 14:46