0

我正在使用数据模块来允许搜索和过滤表数据。我正在使用视图在带有 3 个公开过滤器的表中显示数据。

我希望用户从 3 个过滤器中的 2 个中的特定值中进行选择。但我目前只能显示一个允许用户输入值的文本框。

4

2 回答 2

2

您需要查看hook_views_pre_render()。首先将它与 devel 模块中的 dpm() 结合使用来探索视图结构。然后,您可以在发送视图(及其过滤器)进行渲染之前直接更改它。我建议使用 php 函数(如 array_unique())或您自己的自定义函数来循环遍历和唯一化您的结果。

mymodule_views_pre_render(&$view) {
  // make sure devel module is turned on first, then take this out when you're
  // done exploring the view results
  dpm($view);
  // this part is pseudocode, I haven't memorized the view structure, but dpm() will
  // show you what to actually put here
  if( $view->name == "my_target_view_machine_name" ) {
    // do your uniquefying here
  }
}
于 2013-09-07T00:37:29.963 回答
1

向视图添加公开过滤器时,drupal 为您提供两个选项(过滤器类型公开):单个过滤器和分组过滤器,如果您选择分组过滤器,它将让您选择您想要的小部件类型。(收音机/选择)

于 2013-08-30T11:40:18.350 回答