TopMovable Typeカスタマイズ月別アーカイブ > 月別アーカイブリストの年別表示
2009年6月 1日

月別アーカイブリストの年別表示

Posted at June 1,2009 1:55 AM
Category:[月別アーカイブ]
Tag:[, , ]

Movable Type 4.1 以降で、ネイティブタグを使って月別アーカイブリストを年別に表示するカスタマイズです。

これまで、月別アーカイブリストを年別に分割して表示させるために、ArchiveDateHeader プラグインと ArchiveDateFooter プラグインを使った方法を紹介してきましたが、MT4.1 以降ではネイティブタグのみで表示することが可能になっています。

公開テンプレート(変更前)
月別アーカイブの年別表示(変更前)

公開テンプレート(変更後)
月別アーカイブの年別表示(変更後)

デフォルトテンプレート(変更前)
月別アーカイブの年別表示(変更前)

デフォルトテンプレート(変更後)
月別アーカイブの年別表示(変更後)

ここでは公開テンプレートとデフォルトテンプレートでのサブテンプレートを紹介します。ツリー化や折りたたみなどの付加機能は別エントリーしたいと思います。

1.公開テンプレート

ブログ管理画面の「デザイン」→「ウィジェット」で「月別アーカイブ」を下記の内容に入れ替えてください。

<mt:ifArchiveTypeEnabled archive_type="Monthly">
<dt class="sidetitle">Monthly Archives</dt>
<dd class="side">
  <mt:archiveList archive_type="Monthly">
    <mt:archiveListHeader>
  <ul>
    <li><mt:archiveDate format="%Y&#24180;" />
      <ul>
      <mt:archiveDate format="%Y&#24180;" setvar="year" />
    </mt:archiveListHeader>
    <mt:archiveDate format="%Y&#24180;" setvar="current_year" />
    <mt:if name="current_year" ne="$year">
      </ul>
    </li>
    <li><mt:getVar name="current_year" />
      <ul>
    </mt:if>
    <mt:getVar name="current_year" setvar="year" />
        <li><a href="<mt:archiveLink />"><mt:archiveTitle regex_replace="/\d+&#24180;/","" /></a> [<mt:archiveCount />]</li>
    <mt:archiveListFooter>
      </ul>
    </li>
  </ul>
    </mt:archiveListFooter>
  </mt:archiveList>
</dd>
</mt:ifArchiveTypeEnabled>

2.デフォルトテンプレート(MT4.1)

ブログ管理画面の「デザイン」→「ウィジェット」で「月別アーカイブ」を下記の内容に入れ替えてください。

<mt:IfArchiveTypeEnabled archive_type="Monthly">
  <mt:ArchiveList archive_type="Monthly">
    <mt:ArchiveListHeader>
<div class="widget-archive-monthly widget-archive widget">
  <h3 class="widget-header"><$mt:ArchiveTypeLabel$> <a href="<$mt:Link template="archive_index"$>">アーカイブ</a></h3>
  <div class="widget-content">
    <ul class="widget-list">
      <li class="widget-list-item"><mt:archiveDate format="%Y&#24180;" />
        <ul class="widget-list">
      <mt:archiveDate format="%Y&#24180;" setvar="year" />
    </mt:ArchiveListHeader>
    <mt:archiveDate format="%Y&#24180;" setvar="current_year" />
    <mt:if name="current_year" ne="$year">
        </ul>
      </li>
      <li class="widget-list-item"><mt:getVar name="current_year" />
        <ul class="widget-list">
    </mt:if>
    <mt:getVar name="current_year" setvar="year" />
          <li class="widget-list-item"><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle regex_replace="/\d+&#24180;/",""$> (<$mt:ArchiveCount$>)</a></li>
    <mt:ArchiveListFooter>
        </ul>
      </li>
    </ul>
  </div>
</div>
    </mt:ArchiveListFooter>
  </mt:ArchiveList>
</mt:IfArchiveTypeEnabled>

3.デフォルトテンプレート(MT4.2~)

ブログ管理画面の「デザイン」→「ウィジェット」で「月別アーカイブ」を下記の内容に入れ替えてください。

<mt:IfArchiveTypeEnabled archive_type="Monthly">
  <mt:ArchiveList archive_type="Monthly">
    <mt:ArchiveListHeader>
<div class="widget-archive-monthly widget-archive widget">
  <h3 class="widget-header"><$mt:ArchiveTypeLabel$> <a href="<$mt:Link template="archive_index"$>">アーカイブ</a></h3>
  <div class="widget-content">
    <ul>
      <li><mt:archiveDate format="%Y&#24180;" />
        <ul>
      <mt:archiveDate format="%Y&#24180;" setvar="year" />
    </mt:ArchiveListHeader>
    <mt:archiveDate format="%Y&#24180;" setvar="current_year" />
    <mt:if name="current_year" ne="$year">
        </ul>
      </li>
      <li><mt:getVar name="current_year" />
        <ul>
    </mt:if>
    <mt:getVar name="current_year" setvar="year" />
          <li><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle regex_replace="/\d+&#24180;/",""$> (<$mt:ArchiveCount$>)</a></li>
    <mt:ArchiveListFooter>
        </ul>
      </li>
    </ul>
  </div>
</div>
    </mt:ArchiveListFooter>
  </mt:ArchiveList>
</mt:IfArchiveTypeEnabled>

サブテンプレートの詳細については、「Movalbe Type 4.2 パーフェクトガイド」の「6.28 月別アーカイブ一覧に年別の見出しを表示する」をご覧ください。

Movable Type 4.2 パーフェクトガイドMovable Type 4.2 パーフェクトガイド
荒木 勇次郎

毎日コミュニケーションズ 2008-07-31
売り上げランキング : 1457

Amazonで詳しく見る
by G-Tools
Posted by yujiro   このページの先頭に戻る
関連記事
この記事を読んだ人はこんな記事も読んでいます
人気エントリー
Hatena Hot Entries
Hatena Entries
トラックバックURL


トラックバック

MT4 月別アーカイブリストの年別表示: ダイナミック対応版 from La Petite Note
小粋空間: 月別アーカイブリストの年別表示にはサイドバーなどで用いる月別アーカイ... [続きを読む]

Tracked on October 16, 2009 12:36 AM
コメントする
greeting

*必須

*必須(非表示)


ご質問のコメントの回答については、内容あるいは多忙の場合、1週間以上かかる場合があります。また、すべてのご質問にはお答えできない可能性があります。予めご了承ください。

太字 イタリック アンダーライン ハイパーリンク 引用
[サインインしない場合はここにCAPTCHAを表示します]

コメント投稿後にScript Errorや500エラーが表示された場合は、すぐに再送信せず、ブラウザの「戻る」ボタンで一旦エントリーのページに戻り(プレビュー画面で投稿した場合は、投稿内容をマウスコピーしてからエントリーのページに戻り)、ブラウザをリロードして投稿コメントが反映されていることを確認してください。

コメント欄に(X)HTMLタグやMTタグを記述される場合、「<」は「&lt;」、「>」は「&gt;」と入力してください。例えば「<$MTBlogURL$>」は「&lt;$MTBlogURL$&gt;」となります(全て半角文字)

Now loading...
Introduction
Entry Trackbacks
Entries of this Category
Recent Entries
Recent Comments
Recent Trackbacks
QRcode

現在停止中です
携帯電話からこのQRcodeを撮影することで携帯用URLを取得することができます

URI for cellular phones
ギターに入った猫
Styles
Font Size
Default
For defective color vision
Gray Scale
RGB Color
Search this site

このブログをメールで購読する by:FeedBurner

loading ...
Categories
Monthly Archives
BlogPeople
Syndicate this site
FeedBurner(RSS1.0/RSS2.0/Atom)
Counter
これまでのアクセス
クリエイティブ・コモンズ・ライセンス
Powered by
Movable Type 5.12