SearchContentsプラグイン(その6・タグで検索)

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

1.タグ名で検索

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

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

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

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

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

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

<mt:SearchContents content_type="商品">
  <$mt:SearchContentCategory content_field="ジャンル" tag="食品","飲料"$>
</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」をぜひご利用ください