コンテンツタイプで作成した複数のカテゴリを一覧で表示する方法

はじめに

Movable Type 6では、1記事1カテゴリの構成のため、「MTEntryCategories」タグで、記事に指定されているカテゴリを全て表示させることができました。

しかし、Movable Type 7のコンテンツデータでは、コンテンツフィールドでカテゴリを追加できる、1記事複数カテゴリの構成です。記事に指定されているカテゴリを全て表示するには、テンプレートで実装する必要があります。

サンプルでは、複数のコンテンツフィールドのカテゴリを階層で表示できるものを考えました。

コンテンツタイプで作成した複数のカテゴリを一覧で表示する場面で使えると思います。

「MTSetvar」タグに代入した、コンテンツフィールドのフィールド名を「MTLoop」タグで「MTContentField」タグの引数に設定し、コンテンツフィールドごとのカテゴリを全て出力します。

サンプルテンプレート

<mt:Setvar name="カテゴリ一覧" value="カテゴリ1","カテゴリ2","カテゴリ3">
<mt:Loop name="カテゴリ一覧" sort_by="key">
    <mt:ContentField content_field="$__value__">
        <mt:if name="__first__">
            <dl>
                <dt><mt:ContentFieldLabel></dt>
        </mt:if>
        <dd><a href="<mt:CategoryArchiveLink>"><mt:CategoryLabel></a></dd>
        <mt:if name="__last__">
            </dl>
        </mt:if>
    </mt:ContentField>
</mt:Loop>