携帯版

サイトマップ

プロフィール

カズヲ BlogMovable Type情報

月別アーカイブを年別の開閉プルダウンで。

2009年6月16日ブックマークに追加する
時代は進んでいますね。
jqueryというAjaxプログラムは滑らかな動きをします。

参照:MT 月別アーカイブリスト プルダウン式のテンプレート
元ネタ:月別アーカイブリストの年別表示(ツリー化+折りたたみ)
おまけ:開閉式メニュー
※画像のプラスマイナスを使いたくて、こっちで全面的に作り直した...


参照からaccordion.jsダウンロード&自分のサーバーにアップロード

ソース

ヘッダー内
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3/jquery.min.js"></script>
<script type="text/javascript" src="js/accordion.js"></script>


月別アーカイブ表示箇所
<mt:IfArchiveTypeEnabled archive_type="Monthly">
<mt:ArchiveList archive_type="Monthly">
<mt:ArchiveListHeader>
<dl class="archives">
<dt><mt:archiveDate format="%Y年" /></dt>
<dd><ul>
<mt:archiveDate format="%Y年" setvar="year" />
<mt:setVarBlock name="monthly_fold_script">
FoldNavigation('archive<mt:archiveDate format="%Y" />','off',false);
</mt:setVarBlock>
</mt:ArchiveListHeader>

<mt:archiveDate format="%Y年" setvar="current_year" />
<mt:if name="current_year" ne="$year">
<li><mt:getVar name="month_title" /></li>
</ul></dd>

<dt><mt:getVar name="current_year" /></dt>

<dd><ul>
<mt:setVarBlock name="monthly_fold_script" prepend="1">
FoldNavigation('archive<mt:archiveDate format="%Y" />','off');
</mt:setVarBlock>
<mt:else>
<mt:unless name="__first__">
<li><mt:getVar name="month_title" /></li>
</mt:unless>
</mt:if>

<mt:getVar name="current_year" setvar="year" />
<mt:setVarBlock name="month_title">
<a href="<mt:archiveLink />"><mt:archiveTitle regex_replace="/\d+&#24180;/""","" /></a> [<mt:archiveCount />]
</mt:setVarBlock>
<mt:ArchiveListFooter>
<li><mt:getVar name="month_title" /></li>
</ul></dd>
</mt:ArchiveListFooter>
</mt:ArchiveList>
</dl>
<script type="text/javascript">
//<![CDATA[
<mt:getVar name="monthly_fold_script" />
//]]>
</script>
</mt:IfArchiveTypeEnabled>

css
.archives,.archives dt,.archives dd,.archives ul { margin:0; padding:0; }
.archives li { list-style-type: none; }
.archives { padding: 0; }
.archives dt { padding: 0; }
.archives dd { padding: 0 0 5px 10px; }
以上です。

■余談
mt:archiveTitle regex_replace="/\d+&#24180;/","" の
「&#24180;」は文字コードで「年」になります。
意味は2009年5月から2009年を抜くよってphpの命令です。
参照の方はソースが年になっていて、これだとmtで動かないかも...
ちなみにmtArchivedate format="%m月"だと0がつきます。
むかしゼロサプレスするのに苦労したんですが、これはいいですね。
関連エントリー:Movable Type情報リストの最新記事5件です。
Movable Type情報リスト

トラックバック


トラックバックする際は,このブログまたはこの記事へのリンクをお願いします。

コメントを投稿

コメントを表示する前に管理人の承認が必要になります。
承認されるまではコメントは表示されませんので、少々お待ちください。

:必須


ブックマークに追加する

検索&Pickupカテゴリ

サイト内 Web
サイト製作 仕事と資産運用 諸々 過去記事一覧

私のサイト

一押し情報

管理人用

携帯からチェック

QR.gif