代码之家  ›  专栏  ›  技术社区  ›  cdonner

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

  •  1
  • cdonner  · 技术社区  · 14 年前

    我有一个按国家筛选的视图。Country是一个可选的CCK文本字段,具有从预定义列表中选择的下拉列表。

    当我将字段公开为可选的视图搜索筛选器时,我可以很好地在筛选器窗体上选择一个国家/地区,但如何处理没有选择的情况?我希望用户能够“取消选择”以前选择的任何值,以便查询在所有国家/地区运行(或者更准确地说,不按国家/地区限制结果)。由于明显的原因,我不能将“all”作为值添加到CCK字段。在搜索筛选器的下拉列表中选择所有国家(countries)不是很方便用户,会导致页面超时(列表中有200多个国家,我只能想象得到结果的SQL查询)。最好的办法是什么?

    我找到这个了 View Filters Reset 有帮助的黑客。记住最后一个选择的愿望增加了另一个复杂的问题——当在视图属性中配置时,一旦(持久的)cookie被设置,就没有办法摆脱选择(除了手动删除cookie)。

    1 回复  |  直到 11 年前
        1
  •  1
  •   cdonner    14 年前

    答案是检查过滤器属性上的“Force Single”。这使 <any> 在“国家/地区筛选器”下拉列表中显示为选定内容。有点道理,因为 <任何> 在多重选择列表中可以被视为不明确。尽管如此,我还是能想到为什么多重选择过滤器是可选的。Drupal每天都让我惊讶。

    推荐文章