カレンダーをカスタマイズ

| コメント(0) | トラックバック(0)

MT標準のカレンダーはシステムメニューで再構築しないと当月表示にならない。ほっておくと、最後に再構築したときの月のカレンダーが表示され続ける。
ちなみにカレンダーをカスタマイズする方法はいろいろあるようだが、そのどれもが結構ややこしい。そうした中、以下のものが自分のイメージするところに合っていそうなので、その方法をまとめておく。

http://taeko.w-museum.com/wing/200810281347.html

・ 最新記事が含まれる月ではなく、現在の月カレンダーを表示
・ ページは動かず、iframeによってカレンダー部分のみが移動する

1. インデックステンプレートの作成
[デザイン]→[テンプレート]→[インデックステンプレート]→[インデックステンプレートを作成]
テンプレート名:_カレンダー
出力ファイル名:calendar.html
テンプレートの種類:カスタムインデックステンプレート
公開:スタティック(規定)

2. アーカイブテンプレートの作成
[デザイン]→[テンプレート]→[アーカイブテンプレート]→[アーカイブテンプレートを作成:ブログ記事リスト]
テンプレート名:_月移動カレンダー

テンプレートを保存すると、テンプレートの設定に「アーカイブマッピング」の項目が表示されるので、[新しいアーカイブマッピングを作成]をクリック。
種類:月別 → 追加
パス:calendar/<$MTArchiveDate format="%Y_%m"$>.html

3. ウィジェットの作成
[デザイン]→[ウィジェット]→[ウィジェットテンプレート]→[ウィジェットテンプレートを作成]
ウィジェット名:_カレンダー月移動

4. ウィジェットのセット
「_カレンダー月移動」をサイドバー等に配置する。

【補足】
このままだとカレンダーをクリックしても、該当日最終記事が1件しか表示されない。つまり該当日最終記事へのリンクとなる。
該当日の記事をすべて表示させるには「月移動カレンダー」内を以下のように変更する。ただし、これにより再構築の対象となるファイルが増えるので注意が必要。

<MTEntries><MTDateHeader>
<a href="<$MTEntryLink archive_type="Daily"$>" title="</MTDateHeader>[<$MTEntryTitle$>]<MTDateFooter>" target="_top"><$MTCalendarDay$></a>
</MTDateFooter></MTEntries>

【参考】
Ajax 月送りカレンダー(MT4版)
土・日・休日、当日表示機能もあるのだが、デフォルト表示されるのは最終記事が含まれる月のカレンダー。記事がないと現在月のカレンダーは表示されず、最終記事月のカレンダーが表示され続けることになる。カスタマイズも簡単にはいかない。

トラックバック(0)

トラックバックURL: https://www.ta-kumi.net/mt/mt-tb.cgi/23

コメントする

          

月別 アーカイブ

Twilog
Powered by Movable Type 7.902.0
Status Entry : 1182
Comment : 3  Trackback : 0
Today:today  Yesterday:yesterday
Total : total count