MovableType.net 逆引き辞典

応用

カテゴリによって表示する内容を変える

カテゴリアーカイブページでカテゴリによって違うデザインを表示したい場合は、各カテゴリをmt:Ifで条件分岐を行います。

  • カテゴリA…記事タイトル
  • カテゴリB…記事タイトル+更新日時
  • それ以外のカテゴリ…記事タイトル+広告などの画像

といった形で表示を分けています。

使用するMTタグ

mt:Entriesで該当のカテゴリの記事を取得しています。
mt:Iftag="CategoryLabel" eq="foo"を記述し、fooに記述したカテゴリ名と比較して eq(同じ)であれば条件内のタグを出力します。
mt:ElseIfでも同様に、記述したカテゴリ名と eq(同じ)であれば条件内のタグが出力されます。
アーカイブ・テンプレートのHTML内に「カテゴリ別記事リスト」に下記を記述します。

ウェブページ記述サンプル

カテゴリ別記事リスト記述例

<h1><$mt:CategoryLabel$>アーカイブ</h1>
<ul>
<mt:Entries>
    <mt:If tag="CategoryLabel" eq="カテゴリ名A">
        <!-- カテゴリAで表示したい内容 -->
        <li><$mt:EntryTitle$></li>
    <mt:ElseIf tag="CategoryLabel" eq="カテゴリ名B">
        <!-- カテゴリBで表示したい内容 -->
        <li><$mt:EntryTitle$>(<$mt:EntryDate format="%x"$>)</li>
    <mt:Else>
        <!-- それ以外のカテゴリで表示したい内容 -->
        <li>
            <$mt:EntryTitle$><br />
            <img src="xxxxxxxx.png" alt="" />
        </li>
    </mt:If>
</mt:Entries>
</ul>

出力例

カテゴリ名Aの場合

カテゴリ名A

  • カテゴリ名Aに属している記事タイトル
  • カテゴリ名Aに属している記事タイトル
  • カテゴリ名Aに属している記事タイトル
カテゴリ名Bの場合

カテゴリ名B

  • カテゴリ名Bに属している記事タイトル(XXXX年XX月XX日)
  • カテゴリ名Bに属している記事タイトル(XXXX年XX月XX日)
それ以外のカテゴリの場合

それ以外のカテゴリ名

  • それ以外の記事タイトル
  • それ以外の記事タイトル