SearchContentsプラグイン(その3・フィールドの値の一部分で検索)

SearchContentsプラグインでは、「フィールドの値に○○を含む」というように、フィールドの値の一部分で検索することもできます。

1.MTSearchContentContainタグ

「フィールドの値に○○を含む」という条件で検索したい場合は、MTSearchContentContainというテンプレートタグを使います。
content_fieldモディファイアで、検索対象のコンテンツフィールドの名前(またはIDかユニークID)を指定します。
また、valuesモディファイアで、検索対象の値を指定します。

例えば、「商品」というコンテンツタイプを定義していて、そこに「商品名」というコンテンツフィールドがあるとします。
ここで、「商品名」コンテンツフィールドの値に「シャツ」を含むコンテンツデータを検索したい場合だと、テンプレートを以下のように書きます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentContain content_field="商品名" values="シャツ"$>
</mt:SearchContents>

複数の値のどれかを含むことを条件にすることもできます。
その場合、valuesモディファイアに、それぞれの値をコンマで区切って指定します。

例えば、前述の例で「商品名」コンテンツフィールドの値に「シャツ」か「ブラウス」を含むコンテンツデータを検索したい場合だと、テンプレートを以下のように書きます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentContain content_field="商品名" values="シャツ","ブラウス"$>
</mt:SearchContents>

2.MTSearchContentNotContainタグ

「フィールドの値に○○を含まない」という条件で検索したい場合は、MTSearchContentContainというテンプレートタグを使います。
モディファイアの指定方法は、MTSearchContentContainタグと同じです。
valuesモディファイアに複数の値を指定した場合は、そのどれも含まないコンテンツデータが検索されます。

例えば、前述の例で「商品名」コンテンツフィールドの値に「シャツ」を含まないコンテンツデータを検索したい場合だと、テンプレートを以下のように書きます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentNotContain content_field="商品名" values="シャツ"$>
</mt:SearchContents>

3.MTSearchContentLikeタグ

「フィールドの値が○○で始まる」「フィールドの値が○○で終わる」という条件で検索したい場合は、MTSearchContentLikeというテンプレートタグを使います。
モディファイアの指定方法はMTSearchContentContainタグとほぼ同じですが、valuesモディファイアに指定する値に「%」を入れる点が異なります。

「values="文字列%"」のように書くと、フィールドの値がその文字列で始まるコンテンツデータが検索されます。
また、「values="%文字列"」のように書くと、フィールドの値がその文字列で終わるコンテンツデータが検索されます。
valuesモディファイアに複数の値を指定することもでき、その場合はそれらの条件のどれかを満たすコンテンツデータが検索されます。

例えば、「商品名」コンテンツフィールドの値が「シャツ」か「ブラウス」で終わるコンテンツデータを検索したい場合だと、テンプレートを以下のように書きます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentLike content_field="商品名" values="%シャツ","%ブラウス"$>
</mt:SearchContents>

4.MTSearchContentNotLikeタグ

「フィールドの値が○○で始まらない」「フィールドの値が○○で終わらない」という条件で検索したい場合は、MTSearchContentNotLikeというテンプレートタグを使います。
モディファイアの指定方法はMTSearchContentLikeタグとほぼ同じです。
valuesモディファイアに複数の値を指定することもでき、その場合はそれらの条件のどれも満たさないコンテンツデータが検索されます。

例えば、「商品名」コンテンツフィールドの値の最後が「シャツ」でも「ブラウス」でもないコンテンツデータを検索したい場合だと、テンプレートを以下のように書きます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentNotLike content_field="商品名" values="%シャツ","%ブラウス"$>
</mt:SearchContents>

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

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