我正在使用数据模块来允许搜索和过滤表数据。我正在使用视图来显示3个暴露过滤器的表中的数据。Drupal 7视图 - 如何使暴露过滤器下拉唯一数据值
我希望用户从3个过滤器中的2个中的特定值中进行选择。但我目前只能显示一个允许用户输入值的文本框。
我正在使用数据模块来允许搜索和过滤表数据。我正在使用视图来显示3个暴露过滤器的表中的数据。Drupal 7视图 - 如何使暴露过滤器下拉唯一数据值
我希望用户从3个过滤器中的2个中的特定值中进行选择。但我目前只能显示一个允许用户输入值的文本框。
您需要查看hook_views_pre_render()。首先将它与来自devel模块的dpm()一起使用,以探索视图结构。然后你可以直接改变视图(及其过滤器),然后再发送它们进行渲染。我会推荐使用php函数,比如array_unique()或者你自己的自定义函数来遍历和uniquefy你的结果。
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为您提供了两个选项(过滤器类型公开):单过滤器和分组过滤器,如果您选择分组过滤器,它会让您选择想要的类型的小部件。 (收音机/精选)
我发现分组选项不像它看起来那么完美。术语分组让我觉得它会将该字段中的数据分组,并显示可以选择用于过滤的唯一值,但事实并非如此。它提供的功能是提供您自己的数值,但是如果数据发生变化,您将继续进入视图并手动添加希望用户可以从中进行选择的新值。 – PrestonDocks
我怎么错过了?这正是我需要使用数字范围字段模块来轻松提供从下拉列表中选择“适应睡眠”范围的选项。 – Victoria
我希望Drupal能给我一些开箱即用的东西,否则会有另一个模块可以使用。我想避免编写代码。不过,我认为在没有这些选择的情况下,你的答案与我将要得到的答案一样。非常感谢。 – PrestonDocks