我有一个过滤分类字段的 Drupal 视图。我希望能够通过在 Exposed Filters 表单上显示一个复选框来打开/关闭过滤器。为了说明这个问题,比如说词汇是水果,术语是苹果、梨、橙子和柠檬。我可以通过创建一个过滤器来选择柑橘类水果的含量,该过滤器说水果是(橙子、柠檬)之一。现在我想公开过滤器以允许我选择是否应用我的柑橘类水果过滤器。如何在公开的过滤器表单中添加一个复选框,以便在选择时应用过滤器,并在未选择时忽略过滤器?
4 回答
这个有可能:
- 在适当的字段上添加一个过滤器(在您的示例中对 Fruits 的术语引用)。
在配置过滤条件对话框中:
- 将“要公开的过滤器类型”设置为“分组过滤器”。
- 勾选“允许多选”
- 将“小部件类型”设置为收音机。
- 您可能想清空“标签”。
- 删除下表中除一个过滤器组之外的所有过滤器组。
在剩余的过滤器集中:
- 填写标签(在您的示例中为“柑橘类水果”)。
- 将“运算符”设置为“是其中之一”。
- 在值下选择您要过滤的值(在您的示例中为橘子和柠檬)。
这为您提供 1 个复选框,标记为“柑橘类水果”。所以用户界面就在那里。不幸的是,问题[#2224601]阻止了它的工作,因为它会导致无效的查询,但可以使用工作补丁。
假设您正在使用BEF并且您已经在 BEF 选项中为暴露的过滤器选中了“复选框/单选按钮”选项,设置复选框而不是单选按钮的方法是在配置对话框中选中“允许多项选择”为您在视图中暴露的过滤器。
我认为这里没有答案可以回答这个问题。“我想要的是显示一个复选框,选中时应用/启用过滤器,未选中时忽略/禁用过滤器。我认为 Better Exposed 过滤器不允许我这样做。”
您不需要“更好的暴露过滤器”来执行此操作。您需要使用分组过滤器。
- 单击向访问者公开此过滤器
- 要公开的过滤器类型:分组过滤器
- 勾选“可选”
- 检查“小部件类型:收音机”
- 勾选“允许多项选择”
- 如果需要,删除/清空“标签”
- 在底部,您将有几行,您可以根据需要设置每一行。如果您只想要一个,请删除除一个以外的所有内容
- 单击应用
这个答案很晚。但我希望这对某人有所帮助。
您会假设 Views 会开箱即用地执行此操作。它没有。使用更好的暴露过滤器模块-> http://drupal.org/project/better_exposed_filters
它甚至具有嵌套的复选框/单选按钮,用于具有层次结构的分类。
这是一些特定于您要执行的操作的文档...
“复选框/单选按钮:此选项适用于任何选项数量有限的过滤器。勾选强制单个选项以使用单选按钮,取消勾选复选框。
嵌套复选框/单选按钮:虽然此选项显示常规复选框选项显示的任何过滤器,但它实际上仅用于具有层次结构的分类过滤器。如果您使用的分类过滤器将选择类型设置为下拉并勾选在下拉列表中显示层次结构,则这些过滤器将呈现为嵌套的无序列表。勾选强制单一选项以使用嵌套单选按钮”