本文へジャンプ

<mt:Entries>内でエントリが所属する「カテゴリ」を表示する方法

mt:Entriesでエントリをざざざざーっと出力する際に、各エントリが所属するカテゴリへのリンクも表示したい!というケースがあるかと思います。
そんなときによく使う、MTタグのサンプルをご紹介します。

所属するカテゴリへのリンクの場合 (カテゴリすべて)

カテゴリの有無をチェックしてから、mt:EntryCategoriesでカテゴリをすべて出力します。

<mt:If tag="EntryCategories">
<mt:EntryCategories>
  <a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$></a>
</mt:EntryCategories>
</mt:If>

所属カテゴリへのリンク(プライマリのみ) ※MT5.1以降

MTのバージョンに応じて、2パターンの記述方法があります。
MT5系は既に「製品ライフサイクルの終了」を迎えていますので、後者のパターンは今後もう使うケースは少ないと思いますが、ご参考までご紹介しておきます。

mt:EntryPrimaryCategoryを使用した場合

<mt:If tag="EntryCategories">
<mt:EntryPrimaryCategory>
  <a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$></a>
</mt:EntryPrimaryCategory>
</mt:If>

mt:EntryCategoriesを使用

<mt:If tag="EntryCategories">
<mt:EntryCategories type="primary">
  <a href="<$mt:CategoryArchiveLink$>"><$mt:CategoryLabel$></a>
</mt:EntryCategories>
</mt:If>

所属カテゴリへのリンク(プライマリのみ) ※MT5以前

エントリのメインカテゴリの名前を取得して、それぞれ所属するカテゴリと総当りで比較するという、ワイルドな仕組み。
今となってはこの方法は使わないですね。

<$mt:EntryCategory setvar="main_category"$>
<mt:EntryCategories>
  <mt:If tag="CategoryLabel" eq="$main_category"><$mt:CategoryBasename$></mt:If>
</mt:EntryCategories>

所属カテゴリへのリンク(プライマリ以外の場合)

ひとつ前のやり方と同じで、モディファイアを「eq」を「ne」に変えただけで実現できます。
メインカテゴリ以外を表示します。

<$mt:EntryCategory setvar="main_category"$>
<mt:EntryCategories>
<mt:If tag="CategoryLabel" ne="$main_category"><$mt:CategoryBasename$></mt:If>
</mt:EntryCategories>

以上!
単純だけど忘れやすいちょっとしたお作法のご紹介でした。

Recent Entries
MD EVENT REPORT
What's Hot?