2

Drupal 7 を使用して製品レビュー サイトを構築しています。商品レビューの検索ページは、Views 3 と Better Exposed Filters で構築されています。チェックボックスとして価格範囲で構成される価格フィールド用の公開フィルターが必要です。適切な範囲で価格のグループ化された公開フィルターを設定し、フィルターで複数の選択を許可し、hook_form_alter を実装してフィルターを BEF チェックボックスでテーマ化するように設定しました。唯一の問題は、フィルターの where 句が、OR ではなく AND 句を使用して範囲を検索していることです。したがって、ユーザーに複数の価格範囲を選択してもらいたいのですが、結果にはいずれかの価格範囲内の製品が含まれますが、検索では両方の範囲内の製品が検索され、結果として製品がありません。

hook_views_query_alter を使用しようとしましたが、dsm('test') ほど出力できません。これは、ビューが autosubmit を使用していることが原因である可能性があると思います。

このフィルターを適切に機能させる方法を知っている人はいますか?

4

1 に答える 1

1

フィルターセクションの高度なドキュメントには次のように記載されています。

オプションでグループ化されたフィルターを使用し、[ユーザーが複数のアイテムを選択できるようにする] をオンにした場合、フィルターを別のグループに配置し、グループの演算子を「OR」として定義することができます。同じフィルターを複数回使用するには、OR 演算子を使用してすべてのオプションを適用する必要があるため、これが必要な場合があります。そうでない場合、通常、グループ内のアイテムは相互に排他的であるため、おそらく何も表示されません。

したがって、新しいグループを作成し ([並べ替え] タブに移動)、演算子を OR に設定することをお勧めします。次に、公開されたフィルターをそのグループ内に移動します。

于 2013-02-27T15:12:07.983 に答える