linkerは「人と人」「人と情報」「人と物」をつなぐデザインユニットです。

Movable Typeで特定のカテゴリの記事一覧を日付毎に表示させる

みなさん、こんにちは、まーしーです。
個人的にはカレーを食べるときはご飯よりナンが好きです。みなさんはどちらが好きですか??

さて、忘れていなければなんてことない話なのですが、MTDateHeader、MTDateFooterは便利ですね。

MTDateHeader | テンプレートタグリファレンス
http://www.movabletype.jp/documentation/appendices/tags/dateheader.html  

MTDateFooter | テンプレートタグリファレンス
http://www.movabletype.jp/documentation/appendices/tags/datefooter.html

例えば特定のカテゴリのエントリーをリストアップしてそれを日付毎にまとめたい、といった表示が出来ますね。
(似たような話はCategory-Dailyアーカイブでもできそうではありますが。)

MTEntriesにCategoryモディファイアを指定してエントリーの一覧を表示させますね。

<mt:Entries category="hoge">

そうするとこんな感じになると思います。

120206-01.jpg

ソースはこんな感じですね。

<MTEntries category="hoge"><MTEntriesHeader><table></MTEntriesHeader>
<tr>
<th><mt:EntryDate></th>
<td>
<p><$MTEntryTitle></p>
</td>
</tr>
<MTEntriesFooter></table></MTEntriesFooter></MTEntries>

これを以下のような感じで日付毎にまとめる場合ですね。

120206-02.jpg

Entryの日付を変数にセットしておいて、前後のエントリーと同じかどうか判定してそれにあわせて云々とかやれば出来ないことはないですが、MTDateHeader、MTDateFooterを使えばこんなかんじでさくっと書けます。

<MTEntries category="hoge"><MTEntriesHeader><table>
</MTEntriesHeader>
<MTDateHeader><tr>
<th><mt:EntryDate></th>
<td></MTDateHeader>
<p><$MTEntryTitle></p>
<MTDateFooter></td>
</tr></MTDateFooter>
<MTEntriesFooter></td>
</tr></table></MTEntriesFooter></MTEntries>

日付の箇所(今のサンプルだとthですが)が最初だけでてればよいので、MTDateHeaderでくくってあります。
日付が違う場合はtd、trを閉じないといけないのでそれがMTDateFooterでくくってあります。

たかだか1つのタグの話ですが、使う機会が少ないと忘れてしまったりしますね。
なんかの時に使えると色々楽になりますのでまた忘れないようにメモしておきます。