メインインデックスのカレンダーに前月の月別アーカイブへのリンクを作りたい。標準のタグを使って書いてみる。
月別アーカイブのカレンダーには,前の月と次の月へのリンクを作ってあり(nlog(n): カレンダーを MTInclude するには),移動が便利になっている。これをメインインデックスにも作りたい。月別アーカイブと同じように,カレンダーを別ファイルとして作り,それを MTInclude する方法でも可能だが,月の変わり目には再構築を2回行わなければならないという欠点がある。iframe を使って読み込むこともできるが,iframe は XHTML 1.0 Strict では使えない。SSI でインクルードすれば再構築は1回で済むが,SSI が使えない環境もある。
そこで,Movable Type の標準のタグを使って実装することにする。
まず,カレンダーの最初にある <caption> タグを見つける。
この部分を書き換えることになる。前月へのリンクは次のようになる。「«」は「«」と表示される。
<MTArchiveList> で今月分だけを表示するようにするが,実際に中に入っているタグは <MTArchivePrevious> なので,前月へのリンクとなる。
ついでながら,今月の月名に今月分の月別アーカイブへのリンクがあると便利である。作り方はいくつかある。1つは,上と同様の <MTArchiveList> を使う方法である。
月名表示は,インデックスに置いているので <$MTDate$> を使っても同様の結果が得られるが,上のように <$MTArchiveDate$> を使ったほうが文脈的には正しいと思われる。
もう1つは,<MTEntries> を使う方法である。
こちらの月名表示には <$MTDate$> を使っている。
カレンダーのカスタマイズ/お気楽極楽ブログ さんでは Javascript を使った前月リンクの実装例が紹介されている。
Posted by n at 2005-03-23 22:59 | Edit | Comments (0) | Trackback(6)
Master Archive Index
Total Entry Count: 1957