我正在使用Drupal 7来构建产品评论网站。产品评论搜索页面是使用Views 3和Better Exposed Filters构建的。我需要一个价格区域的暴露过滤器,其中包含价格范围作为复选框。我已经为具有适当范围的价格设置了一个分组的公开过滤器,使过滤器允许多个选择,然后实现hook_form_alter以将过滤器设置为以BEF复选框为主题。现在唯一的问题是filter的where子句使用AND子句而不是OR来搜索范围。因此,我希望用户选择多个价格范围,结果包括价格范围内的产品,但搜索正在寻找两个范围内的产品,从而导致没有产品。
我试图使用hook_views_query_alter,但输出不如dsm('test')。我想这可能是因为视图使用自动提交。
有谁知道如何让这个过滤器正常工作?
答案 0 :(得分:1)
正如“过滤器”部分的高级文档所示:
使用带有选项的分组过滤器时:“启用以允许用户选择多个项目”,您可能希望将过滤器放在一个单独的组中,并将该组的运算符定义为“OR”。这可能是必要的,因为为了使用相同过滤器的多次,所有选项都必须使用OR运算符来应用,否则,可能您将不会列出任何内容,因为组中的项通常是互斥的。
因此,您可能想要创建一个新组(转到“重新排序选项卡”)并将运算符设置为OR。然后,只需移动该组中的外露过滤器。