如何将视图中的过滤器分解为多个块。即在一个区块中打破几个过滤器并在另一个区块中休息?

时间:2012-11-01 11:20:55

标签: drupal drupal-7 views drupal-modules

我在视图中有四个公开的过滤器。我想创建2块暴露的过滤器。我希望在一个块中有2个过滤器,在第二个块中需要2个过滤器。

2 个答案:

答案 0 :(得分:2)

最后,我在这个网址找到了这个问题的答案: http://www.undpaul.de/en/blog/2013/06/17/split-views-exposed-form

解决方案:: 在视图中,您可以克隆现有的显示,这意味着除了创建它的纯文本之外别无其他。在我们的例子中,我克隆了包含暴露形式的页面显示,以便仅拆分和修改一些过滤器设置。

其他选项(尤其是页面路径)未更改。

如果您现在查看块列表,则两个视图显示都有一个块,其中包含相应的公开表单。这些块可以显示在不同的页面和不同的区域中。

答案 1 :(得分:0)

然后,您可以创建自定义模块并实现hook_form_alter()来更改过滤形式。

为了能够做到这一点,您必须更改weight of your custom module表格system。使它大于10(因为它是视图模块的重量)

您可以实现hook_form_alter()来更改表单过滤器的行为。

您可以使用$form['ANY_ELEMENT']['#prefix']$form['ANY_ELEMENT']['#suffix']或使用fieldsets在过滤器之后/之前添加任何HTML。然后让CSS发挥其作用。

$ form_id的格式通常与[views_form _ the id of the view _ `the id of the display]的格式相同。例如: views_form_my_view_page

P.S。这是我现在唯一能找到的解决方案。

真的希望这个有用......穆罕默德。