SearchContentsプラグイン(その5・カテゴリで検索)

カテゴリ型のコンテンツフィールドを使っている場合は、カテゴリでコンテンツデータを検索することもできます。

1.カテゴリ名で検索

「○○カテゴリに属する」というように、コンテンツデータが属するカテゴリの名前で検索することができます。
この場合は、MTSearchContentCategoryというテンプレートタグを使います。

content_fieldモディファイアで、検索対象のコンテンツフィールドの名前(またはID/ユニークID)を指定します。
そして、「category="カテゴリ名"」のモディファイアで、検索対象のカテゴリを指定します。

例えば、「商品」というコンテンツタイプがあり、「ジャンル」という名前のカテゴリ型のコンテンツフィールドを定義しているとします。
この場合、「ジャンル」のカテゴリが「衣料品」になっているコンテンツデータを検索するには、以下のようにテンプレートを組みます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentCategory content_field="ジャンル" category="衣料品"$>
</mt:SearchContents>

複数のカテゴリのどれかに属するコンテンツデータを検索することもできます。
その場合は、categoryモディファイアで、カテゴリ名をカンマで区切って並べます。

例えば、前述の例で、「ジャンル」カテゴリが「食品」か「飲料」になっているコンテンツデータを検索するには、以下のようにテンプレートを組みます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentCategory content_field="ジャンル" category="食品","飲料"$>
</mt:SearchContents>

2.カテゴリのIDで検索

カテゴリ名ではなく、カテゴリのIDで検索することもできます。
この場合は、MTSearchContentValuesタグを使って、検索対象のカテゴリのIDを指定します。

例えば、「商品」というコンテンツタイプがあり、「ジャンル」という名前のカテゴリ型のコンテンツフィールドを定義しているとします。
この状態で、IDが1番のカテゴリに属しているコンテンツデータを検索するには、テンプレートを以下のように組みます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentValues content_field="ジャンル" values="1"$>
</mt:SearchContents>

valuesモディファイアに、複数のIDをコンマで区切って指定すれば、そのどれかのIDのカテゴリに属するコンテンツデータを検索することもできます。
例えば、IDが1番か2番のカテゴリに属しているコンテンツデータを検索するには、テンプレートを以下のように組みます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentValues content_field="ジャンル" values="1","2"$>
</mt:SearchContents>

3.SearchContentsプラグイン関係の記事の一覧

MT Cloud Starter Kit
Movable Typeのプラグイン集「MT Cloud Starter Kit」をぜひご利用ください