MovableType

コンテンツデータからカテゴリ指定のないコンテンツのみ取得する方法

はじめに

コンテンツデータから、特定のカテゴリを表示するには、以下の用に記述すればよいですが、

field:カテゴリフィールドのID="カテゴリ名"

カテゴリ指定のないコンテンツのみ取得するには、全てのカテゴリをORで指定し、NOTで判定する工夫が必要です。

field:カテゴリフィールドのID="NOT (カテゴリ1 OR カテゴリ2 OR ...)"

サンプルテンプレート

<mt:SetVarBlock name="全てのカテゴリ">
    NOT (
        <mt:CategorySets name="カテゴリ">
            <mt:TopLevelCategories>
                <mt:CategoryLabel><mt:SubCatIsLast><mt:else> OR </mt:SubCatIsLast>
            </mt:TopLevelCategories>
        </mt:CategorySets>
    )
</mt:SetVarBlock>

<mt:Var name="全てのカテゴリ" 
    remove_html="1"
    regex_replace="/(^[\ \t\r\n]+|\n+)/mg",""
    setvar="noCategory"
>

<mt:Contents content_type="ニュースリリース" field:カテゴリフィールドのID="$noCategory">
    <mt:if name="__first__"><ul></mt:if>
        <li><mt:ContentLabel></li>
    <mt:if name="__last__"></ul></mt:if>
</mt:Contents>