在drupal中使用上下文过滤器时,如何防止将页面上下文过滤器附加到页面URL?

时间:2012-03-15 13:45:02

标签: drupal drupal-7 drupal-views

我有一个包含上下文过滤器和公开过滤器的页面。我的问题在于,如果我通过myview / 12(其中12是我的上下文过滤器)访问页面然后使用页面上公开的过滤器来过滤掉结果,则值12仍将附加到页面,它会在上下文过滤器值中限制我的结果...有没有办法在使用公开过滤器时删除上下文过滤器值?

谢谢!

3 个答案:

答案 0 :(得分:1)

您可以尝试Views Filter Harmonizer模块。此模块解决了在同一个tima上使用上下文过滤器和公开过滤器的视图时的问题,您可以对其进行配置以使它们独立工作。

答案 1 :(得分:0)

我不这么认为。因为在公开的过滤器之前,上下文过滤器正在过滤页面结果。

为什么使用“myview / 12”?!为什么不使用“myview”而不将任何内容作为上下文过滤器传递?

<强>更新 要从URL中排除上下文过滤器,您需要通过应用hook_form_alter()来更改表单的重定向属性。 为此,您需要执行以下步骤:

  1. 找到表单ID。
  2. 在“系统”表格中更改模块重量。 (因为视图的权重默认为10,所以您的模块需要更重,以确保它影响视图生成的表单)
  3. 更改表单重定向属性。 $ form ['#redirect'] ='myview';
  4. 告诉我它是否有效。

    穆罕默德。

答案 2 :(得分:0)

提供验证标准,如果网址中有某些公开的过滤器,则会失败,如果验证标准失败,则选择显示所有值。