エントリー記事

MTで指定した年のアーカイブを一覧表示

Movable Type

あまりにもブログを更新していないので、ど〜しようかな〜と考えたんですが、ようするに今やってる作業を書けばいいんじゃね?みたいな、そんなノリです。

例えば、こんな感じで今年のアーカイブだけスコッと取り出したい場合。

2009年のイベント
  • hogehoge(2009年8月10日)
  • fugeguge(2009年6月5日)
  • mogemoge(2009年3月24日)

こうかな


<$mt:Date format="%Y" setvar="thisyear"$>
<mt:ArchiveList archive_type="Yearly">
	<$mt:ArchiveTitle trim_to="4" setvar="entryyear"$>
	<mt:If name="thisyear" eq="$entryyear">
		<h3><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$>のイベント</a></h3>
		<mt:Entries>
		<mt:If name="__first__"><ul></mt:If>
		<li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a>(<$mt:EntryDate$>)</p>
		<mt:If name="__last__"></ul></mt:If>
		</mt:Entries>
	</mt:If>
</mt:ArchiveList>

今年の西暦をthisyearに代入、mt:ArchiveListで年別タイプ(archive_type="Yearly")を設定。

ArchiveTitleを使ってエントリーの西暦をentryyearに代入。このままやると「2009年」となるので、先頭4文字でカット(Trim_to="4")。

thisyearとentryyearが同じだったらエントリを展開し、そうでなければきっぱりスルー。

年別でアーカイブを表示したい場合

こんな感じだとすると

2009年のイベント
  • hogehoge(2009年8月10日)
  • fugeguge(2009年6月5日)
  • mogemoge(2009年3月24日)
2008年のイベント
  • hogehoge(2008年11月28日)
  • fugeguge(2008年9月30日)
  • mogemoge(2008年6月5日)
2007年のイベント
  • hogehoge(2007年9月12日)
  • fugeguge(2007年4月10日)
  • mogemoge(2007年1月16日)

これは素直にこうかな。


<mt:ArchiveList archive_type="Yearly">
	<h3><a href="<$mt:ArchiveLink$>"><$mt:ArchiveTitle$>のイベント</a></h3>
	<mt:Entries>
		<mt:If name="__first__"><ul></mt:If>
		<li><a href="<$mt:EntryPermalink$>"><$mt:EntryTitle$></a>(<$mt:EntryDate$>)</p>
		<mt:If name="__last__"></ul></mt:If>
	</mt:Entries>
</mt:ArchiveList>

ほんじゃね〜(^^)