Drupal 视图和公开的过滤器 - 如何重置可选的下拉列表过滤器,或允许“全部”选择

Posted

技术标签:

【中文标题】Drupal 视图和公开的过滤器 - 如何重置可选的下拉列表过滤器,或允许“全部”选择【英文标题】:Drupal Views and exposed filters - how to reset optional drop-down list filter, or allow "all" selection 【发布时间】:2010-11-17 21:22:26 【问题描述】:

我有一个按国家/地区过滤的视图。 Country 是一个可选的 CCK 文本字段,带有从预定义列表中选择的下拉列表。

当我将该字段公开为可选的视图搜索过滤器时,我可以在过滤器表单上选择一个国家,但我如何处理没有选择?我希望用户能够“取消选择”任何先前选择的值,以便查询针对所有国家/地区运行(或者,更准确地说,不限制国家/地区的结果)。出于显而易见的原因,我不能将“全部”作为值添加到 CCK 字段中。在搜索过滤器的下拉列表中选择所有国家不是很友好,并且会导致页面超时(列表中有超过 200 个国家,我只能想象得到的 SQL 查询)。处理这个问题的最佳方法是什么?

我发现这个View Filters Reset hack 可能会有所帮助。记住最后一个选择的愿望增加了另一个复杂性 - 在视图属性中配置时,一旦设置(持久)cookie,就无法摆脱选择(除了手动删除 cookie)。

【问题讨论】:

【参考方案1】:

答案是检查过滤器属性上的“强制单一”。这使得<any> 在国家过滤器下拉列表中显示为一个选项。这有点道理,因为在多选列表中的<any> 可能会被视为模棱两可。尽管如此,我仍然可以想到为什么多选过滤器可能是可选的正当理由。 Drupal 每天都让我感到惊讶。

【讨论】:

以上是关于Drupal 视图和公开的过滤器 - 如何重置可选的下拉列表过滤器,或允许“全部”选择的主要内容,如果未能解决你的问题,请参考以下文章

Drupal查看中公开的过滤器的AJAX重置按钮

Drupal:如何在具有来自外部数据库选项卡的数据的视图中添加公开过滤器

Drupal:在视图标题中显示公开的过滤器值

Drupal、视图、公开过滤器:自定义默认选定标签

Drupal - 在视图提要中公开过滤器

在 Drupal 中公开视图过滤器