Drupal在块和页面中显示暴露过滤器

时间:2014-10-06 16:52:51

标签: drupal drupal-7 block drupal-exposed-filter

再次需要帮助,有没有办法在一个块和一个页面中显示公开的过滤器而不删除页面的过滤器?我在YES处使用Exposed Form Filter,创建了带有过滤器的块,但是当我转到视图页面时,我看不到暴露的过滤器。

我有例如page.tpl,上面有暴露的块。 但是在templates / custom-page.tpl(原始公开过滤器的位置)中,在启用Exposed Form Filter后无法看到它们。我想要的是暴露的过滤器显示在页面和块中。

我用谷歌搜索了,但我还没有找到解决方案。如果你能帮助我,我将不胜感激。谢谢!!!我正在使用Drupal 7。

2 个答案:

答案 0 :(得分:2)

这实际上是你的想法,但我会将其添加到其他人:

  1. 修改您的观点。
  2. 克隆" Page"在视野中。
  3. 将页面重命名为" SearchBlock" (也将机器名称更改为" search_block")。
  4. 启用"暴露形式在块"。
  5. 打开块配置(#overlay = admin / structure / block)。
  6. 您的新区块将位于按钮上的某个位置,其名称类似于:"外露形式:your_view-search_block"。
  7. 第3点当然不是必需的,但它会使事情变得更加明显。而且你通常需要在你做某事后6个月才能明白事情; - )。

    顺便说一句。您克隆页面后,可以从块中删除过滤器。只有两个要求:

    1. 页面和块中的过滤器必须具有相同的计算机名称和操作员设置。
    2. 阻止和过滤器必须指向相同的网址。
    3. 这也意味着您可以添加更多具有各种过滤器的块。

答案 1 :(得分:1)

您可以将曝光的表单设置为不在块中(因此它显示在页面上)。然后你可以创建自己的块,其中包含暴露的形式(使用视图函数来获取暴露的形式) 要获得暴露的表格,请检查这些链接 Drupal 7 Views 3: How to programmatically embed a Views exposed filter

OR。

您可以在块中公开过滤器,将此块放在视图页面上,然后使用multiblock制作暴露过滤器块的另一个副本以放在其他位置。这可能更容易。