将Drupal Views过滤器公开为打开/关闭复选框以启用/禁用过滤器

时间:2013-02-06 15:55:01

标签: drupal drupal-views drupal-exposed-filter

我有一个Drupal视图,可以过滤分类字段。我希望能够通过在Exposed Filters表单上显示一个复选框来打开/关闭过滤器。 为了说明问题,比如说词汇是水果,而条款是苹果,梨,橘子和柠檬。我可以通过创建一个名为Fruit(Oranges,Lemons)之一的过滤器来选择柑橘类水果。现在我想公开过滤器,让我选择是否应用我的柑橘类水果过滤器。如何在选中时应用过滤器的公开过滤器表单中添加一个复选框,并在未选择时忽略过滤器?

4 个答案:

答案 0 :(得分:4)

这是可能的:

  • 在相应字段上添加过滤器(对于Fruits in的术语引用) 你的例子)。

在“配置过滤条件”对话框中:

  • 设置'过滤器类型以公开'到'分组过滤器'。
  • 选中"允许多项选择"
  • 设置小工具类型'到无线电。
  • 您可能想要清空'标签'。
  • 删除下表中除了一个过滤器集之外的所有过滤器集。

在剩余的过滤器集中:

  • 填写标签(' Citrus fruits'在您的示例中)。
  • 设置'运营商' to'是'。
  • 之一
  • 在“值”下,选择要过滤的值(示例中为橙色和柠檬色)。

这会给你1个复选框,标记为' Citrus Fruits'。用户界面就在那里。不幸的是,问题[#2224601]会阻止它起作用,因为它会导致查询无效,但可以使用有效的补丁。

答案 1 :(得分:3)

假设您正在使用BEF并且已经检查了" Checkboxes / Radio按钮" BEF选项中暴露过滤器的选项,设置复选框而不是单选按钮的方法是检查"允许多个选择"在Views中的公开过滤器的配置对话框中。

答案 2 :(得分:1)

你会认为Views会开箱即用。它没有。使用更好的暴露过滤器模块 - > http://drupal.org/project/better_exposed_filters

它甚至具有嵌套的复选框/单选按钮,用于具有层次结构的分类。

以下是一些特定于您正在尝试做的文档......

“复选框/单选按钮:此选项适用于任何选项数量有限的过滤器。勾选Force单选项以使用单选按钮,取消勾选复选框。

嵌套复选框/单选按钮:虽然此选项显示常规复选框选项显示的任何过滤器,但它实际上仅用于具有层次结构的分类过滤器。如果您正在使用选择类型设置为Dropdown并且在下拉列表中显示层次结构的taxomomy过滤器,则这些过滤器将呈现为嵌套的无序列表。勾选Force单选项以使用嵌套单选按钮“

答案 3 :(得分:1)

我认为这里没有答案可以回答这个问题。 “我想要的是显示一个复选框,当选中/应用/启用过滤器时,取消选中时忽略/禁用过滤器。我不认为更好的暴露过滤器允许我这样做。”

你不需要“更好的暴露过滤器”来做到这一点。 您需要使用分组过滤器。

  • 点击向访问者公开此过滤器
  • 要公开的过滤器类型:分组过滤器
  • 选中'可选'
  • 选中“窗口小部件类型:无线电”
  • 选中“允许多项选择”
  • 如果需要,删除/清空'标签'
  • 在底部,您将有几行,您可以根据需要设置每一行。如果您只想要一个,请删除除一个
  • 以外的所有内容
  • 点击“应用”

这个答案很晚。但我希望这有助于某人。