MTタグ逆引き辞典

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

たとえばカテゴリアーカイブページでカテゴリ別記事リストで異なる表示をしたい場合は、MTIfで条件分岐を行います。

下記記述例では、

  • カテゴリA…記事タイトル
  • カテゴリB…記事タイトル+更新日時
  • それ以外のカテゴリ…記事タイトル+広告などの画像
といった形で表示を分けています。アーカイブ・テンプレートのHTML内に「カテゴリ別記事リスト」に下記を記述します。

テンプレート記述例

<h2><$mt:CategoryLabel$>アーカイブ</h2>
<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 />
			<a href=""><img src="xxxxxxxx.png" alt="" /></a>
		</li>
	</mt:If>
</mt:Entries>
</ul>

MTEntriesで該当のカテゴリの記事を取得しています。

MTIftag="CategoryLabel" eq="xxxxx"を記述し、xxxxxに記述したカテゴリ名と比較して eq(同じ)であれば条件内のタグを出力します。MTElseIfでも同様に、記述したカテゴリ名と eq(同じ)であれば条件内のタグが出力されます。

出力結果は以下のようになります。

出力例

カテゴリ名Aの場合

カテゴリ名A

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

カテゴリ名B

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

それ以外のカテゴリ名

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

使用したMTタグはこちら

Movable Type.net は無料トライアルが可能です。
Web制作者の方で、デモや評価利用をご希望の場合は、制作者向け評価ライセンスをご利用ください。

無料トライアル 資料ダウンロード 制作者向け評価ライセンス