SearchContentsプラグイン(その8・AND検索)

SearchContentsプラグインでは、複数の条件を指定して、それらすべてを満たすコンテンツデータを検索することもできます(AND検索)。

1.MTSearchContentsタグのブロックの中に条件を表すタグを列挙

複数の条件でAND検索を行いたい場合、それらの個々の条件を表すテンプレートタグを、MTSearchContentsタグのブロックの中に列挙します。
content_fieldモディファイア/fieldモディファイアのどちらも使うことができます。

例えば、「商品」というコンテンツタイプがあるときに、以下すべての条件を満たすコンテンツデータを検索したいとします。

  • 「商品名」コンテンツフィールドの値に「シャツ」を含む。
  • 「単価」コンテンツフィールドの値が3000以下

この場合、以下のようにテンプレートを組みます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentContain content_field="商品名" values="シャツ"$>
  <$mt:SearchContentCompare content_field="単価" le="3000"$>
</mt:SearchContents>

2.複数の値を取れるフィールドの扱い

コンテンツフィールドの中には、複数の値を取ることができるものもあります(リスト/チェックボックス/カテゴリ/タグなど)。
この場合、同じフィールドに対して条件を複数回書くことで、それらすべての条件を満たすコンテンツデータを検索することができます。

例えば、「商品」コンテンツタイプに「サイズ」というチェックボックス型のコンテンツフィールドがあり、「S」「M」「L」のチェックボックスを複数選択できるようにしているとします。
この状態で、「S」と「M」の両方のチェックボックスがオンになっているコンテンツデータを検索したい場合、以下のようにテンプレートを組みます。

<mt:SearchContents content_type="商品">
  <$mt:SearchContentValues content_field="サイズ" values="S"$>
  <$mt:SearchContentValues content_field="サイズ" values="M"$>
</mt:SearchContents>

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