www.kkoba.com  » kkobaのblog

2004年09月11日

[MT3.0] 年間カレンダー

現在、メインサイト一言をBlogに移行中。データは2001年からあるので、整理のために年間カレンダーを作成した。 参考にしたのは、JunkLineMT の過去ログリンク表示を nDiary (ごにょり済み)風に

1. 目標

サイト右上のカレンダーが完成したもの。やりたかったことは以下の通り。

  • エントリーがある月もない月も両方表示する
  • エントリーがある月からは、月別アーカイブへリンクする
  • 各月のエントリー件数を表示する

2. 利用するプラグインのインストール

以下の3つのプラグインをインストールした。

3. テンプレートの作成

インデックステンプレートとして以下を作成し、出力ファイルを calendar.html とした。

<table>
  <MTArchiveList archive_type="Monthly">
    <MTArchiveDateHeader>
      <tr>
        <th><$MTArchiveDate format="%Y"$><br />年</th>
        <td>
          <table>
            <MTArchiveYear columns="6" order="descend">
              <MTArchiveYearRowHeader>
                <tr>
              </MTArchiveYearRowHeader>
                <MTArchiveYearIfEntries>
                  <MTArchiveLoad>
                    <td class="ifEntries">
                      <a href="<$MTArchiveLink$>"><$MTArchiveDate format="%m"$></a>
                      <div class="monthCount">
                        <$MTArchiveCount$>
                      </div>
                    </td>
                  </MTArchiveLoad>
                </MTArchiveYearIfEntries>
                <MTArchiveYearIfNoEntries>
                  <td class="ifNoEtries">
                    <$MTArchiveDate format="%m"$>
                    <div class="monthCount">
                      &nbsp;
                    </div>
                  </td>
                </MTArchiveYearIfNoEntries>
              <MTArchiveYearRowFooter>
                </tr>
              </MTArchiveYearRowFooter>
            </MTArchiveYear>
          </table>
        </td>
      </tr>
    </MTArchiveDateHeader>
  </MTArchiveList>
</table>

4. SSIでinclude

年間カレンダーを表示したいテンプレートに、以下のようにSSIでincludeした。

<div id="ycalendar">
  <!--
    #include virtual="<$MTBlogRelativeURL$>calendar.html"
   -->
</div>

5. スタイルシートへの追加

表示を整えるために、以下をスタイルシートに追加した。

#ycalendar {
    margin-bottom: 15px;
    padding: 0px;
    border: 1px solid steelblue;
    background-color: white;
    font-size: small;
}

#ycalendar table {
    margin: 0px;
    padding: 0px;
    border: none;
    border-collapse: collapse;
    background-color: white;
    width: 100%;
}

#ycalendar th {
    border: 1px solid silver;
    background-color: steelblue;
    color: white;
    text-align: center;
}

#ycalendar td {
    border: none;
    background-color: white;
    color: black;
    text-align: center;
}

#ycalendar .ifEntries {
    margin: 0px;
    padding: 0px;
    border: 1px solid silver;
    background-color: white;
    color: black;
    text-align: center;
}

#ycalendar .ifNoEtries {
    margin: 0px;
    padding: 0px;
    border: 1px solid silver;
    background-color: white;
    color: silver;
    text-align: center;
}

#ycalendar .monthCount {
    margin: 0px;
    padding: 0px;
    font-size: x-small;
    line-height: 100%;
}

投稿者 かつ : 2004年09月11日 15:47

この記事のトラックバックURL

トラックバック一覧 (0件)

コメント一覧 (1件)

  1. むぉ! 自分のヤツより nDiary 風味がより強い感じに・・・。
    参考にさせて貰います。(ぉ゛

    投稿者 アサノ : 2004年09月12日 21:46

新規にコメントする




情報を登録する?



年間カレンダー
2007
12
 
11
1
10
1
09
1
08
 
07
 
06
 
05
 
04
3
03
7
02
3
01
4
2006
12
1
11
1
10
1
09
1
08
1
07
1
06
1
05
2
04
1
03
1
02
1
01
1
2005
12
1
11
1
10
4
09
2
08
1
07
2
06
3
05
7
04
4
03
8
02
6
01
10
2004
12
8
11
14
10
10
09
20
08
12
07
2
06
4
05
2
04
1
03
1
02
1
01
1
2003
12
1
11
1
10
1
09
1
08
1
07
1
06
2
05
2
04
3
03
3
02
7
01
3
2002
12
5
11
3
10
3
09
4
08
7
07
6
06
10
05
7
04
4
03
4
02
8
01
8
2001
12
6
11
12
10
18
09
6
08
 
07
 
06
 
05
 
04
 
03
 
02
 
01
 
2004年09月
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30    

サイト内の検索

このBlogのライセンス