我正在使用数据模块来允许搜索和过滤表数据。我正在使用视图在带有 3 个公开过滤器的表中显示数据。
我希望用户从 3 个过滤器中的 2 个中的特定值中进行选择。但我目前只能显示一个允许用户输入值的文本框。
我正在使用数据模块来允许搜索和过滤表数据。我正在使用视图在带有 3 个公开过滤器的表中显示数据。
我希望用户从 3 个过滤器中的 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
}
}
向视图添加公开过滤器时,drupal 为您提供两个选项(过滤器类型公开):单个过滤器和分组过滤器,如果您选择分组过滤器,它将让您选择您想要的小部件类型。(收音机/选择)