エントリーページに、そのエントリーが属するカテゴリ内の最新10件を表示しようとした場合を考えます。
特定カテゴリのエントリ一覧
<MTEntries lastn=”10″ category=”カテゴリ名”>
<MTEntriesHeader><ul></MTEntriesHeader>
<li><mt:entrytitle></li>
<MTEntriesFooter></ul></MTEntriesFooter>
</MTEntries>
エントリーアーカイブに、このように記述することで、特定カテゴリの最新10件エントリを表示することができます。
カテゴリごとのエントリ一覧
次に、「特定カテゴリ」を「カテゴリごと」に置き換えるために、カテゴリごとに表示を切り替えるようにします。
<mt:categorylabel setvar=”カテゴリ名”>
<MTIf name=”カテゴリ名” eq=”カテゴリ1“>
<MTEntries lastn=”10″ category=”カテゴリ1“>
<MTEntriesHeader><ul></MTEntriesHeader>
<li><mt:entrytitle></li>
<MTEntriesFooter></ul></MTEntriesFooter>
</MTEntries>
</MTIf>
<MTIf name=”カテゴリ名” eq=”カテゴリ2“>
<MTEntries lastn=”10″ category=”カテゴリ2“>
<MTEntriesHeader><ul></MTEntriesHeader>
<li><mt:entrytitle></li>
<MTEntriesFooter></ul></MTEntriesFooter>
</MTEntries>
</MTIf>
「カテゴリ名」という変数を定義し、その値にブログを書くときに選択したカテゴリ名を設定します。
カテゴリ名が「カテゴリ1」のときは「カテゴリ1」内の最新10件を・・・、「カテゴリ2」のときは「カテゴリ2」内の最新10件を・・・、と分岐処理をすることで、カテゴリごとに表示を切り替えることが可能となります。
最適化
共通処理をする箇所に関しては、モジュール化しておきます。ここでは、「カテゴリ別一覧」というモジュールを作っておきます。
<MTEntries lastn=”10″ category=”カテゴリ2“>
<MTEntriesHeader><ul></MTEntriesHeader>
<li><mt:entrytitle></li>
<MTEntriesFooter></ul></MTEntriesFooter>
</MTEntries>
最終エントリーアーカイブは下記のようになります。
<mt:categorylabel setvar=”カテゴリ名”>
<MTIf name=”カテゴリ名” eq=”カテゴリ1“>
<MTEntries lastn=”10″ category=”カテゴリ1“>
<MTInclude module=”カテゴリ別一覧”>
</MTEntries>
</MTIf>
<MTIf name=”カテゴリ名” eq=”カテゴリ2“>
<MTEntries lastn=”10″ category=”カテゴリ2“>
<MTInclude module=”カテゴリ別一覧”>
</MTEntries>
</MTIf>