有没有办法让我有一个外露的过滤器,用户可以选择drupal视图显示的项目数?
答案 0 :(得分:1)
我几乎肯定你可以用hook_views_pre_build (&$view)
做到这一点。我知道您可以使用$view->pager
来更新是否使用寻呼机并更改每页的项目数。
这是我所做的自定义模块的片段:
if (is_numeric($perpage) && (int) $perpage > 1) {
$view->pager["items_per_page"] = (int) $perpage;
} else if ($perpage == "all") {
$view->pager["use_pager"] = false;
$view->pager["items_per_page"] = 0;
}
我怀疑您可以关闭寻呼机,并设置每页的项目以限制结果。
编辑:
好的,只看到有关暴露过滤器的部分。代码片段实际上来自一些模拟此案例的暴露过滤器的代码。该页面上有一些链接,用于选择每页的项目数。链接刷新页面,并粘贴perpage=whatever
参数。钩子然后清理输入,基本上运行上面的代码片段。我还使用HTML和select做了类似的事情,然后使用jQuery连接参数w / refresh。
答案 1 :(得分:0)
基于this thread in the issue queue,这似乎是一个长期请求的功能。它显然已添加到6.x-3.x-dev branch,因此应该可以在6.x-3.0-alpha3版本中找到。
或者,如果您使用的是Drupal 7,它也已添加到7.x-3.x-dev branch,因此它应该在7.x-3.0-alpha1版本中。