如何通过URL向Drupal 6视图添加变量过滤器?

如何通过URL向Drupal 6视图添加变量过滤器?,drupal,drupal-views,Drupal,Drupal Views,我目前正在使用Drupal Views 2构建自定义视图。到目前为止,如果不需要任何功能的话,这一切都很好:应该能够通过URL按不同字段过滤结果,形式如下: http://domain/node/M/[key]:[value],[key2]:[value2],…,[keyN]:[valueN] 密钥名称是固定的,不能更改 我尝试钩住hook\u views\u query\u alter()和hook\u views\u pre\u render()来对所有视图进行泛化,计算给定的过滤器集,但没

我目前正在使用Drupal Views 2构建自定义视图。到目前为止,如果不需要任何功能的话,这一切都很好:应该能够通过URL按不同字段过滤结果,形式如下:

http://domain/node/M/[key]:[value],[key2]:[value2],…,[keyN]:[valueN]

密钥名称是固定的,不能更改

我尝试钩住hook\u views\u query\u alter()和hook\u views\u pre\u render()来对所有视图进行泛化,计算给定的过滤器集,但没有令人满意的结果,因为我无法获得用于构建视图的查询(我无法以正确的方式修改它,因为我不知道查询中的字段名)

问题是,是否有更好的方法来实现这样的过滤器集

提前感谢,


flo

查看注释,您似乎不仅需要url参数,还需要自定义格式的url参数

首先,我建议您放弃您的格式,使用标准视图参数格式,这将更符合标准,并为您省去很多麻烦

如果您想使用这种特殊的格式,您必须在模块中编写一些自定义代码

  • 使用hook_menu()注册回调

  • 在该回调中,使用arg()并解码参数

  • 将参数传递给视图\嵌入\视图()。如图所示


查看评论,您似乎不仅需要url参数,还需要自定义格式的url参数

首先,我建议您放弃您的格式,使用标准视图参数格式,这将更符合标准,并为您省去很多麻烦

如果您想使用这种特殊的格式,您必须在模块中编写一些自定义代码

  • 使用hook_menu()注册回调

  • 在该回调中,使用arg()并解码参数

  • 将参数传递给视图\嵌入\视图()。如图所示


我可以通过drupals arg()获取过滤器变量-问题是我不知道如何用它们的值影响视图:(如果您使用的是视图UI,那么您可以添加参数。是的,但是如何获取?如何获取视图以该特定形式接受url参数?我可以通过drupals arg()获取过滤器变量)-问题是,我不知道如何用它们的值影响视图:(如果您使用的是视图UI,那么您可以添加参数。是的,但是如何?我如何才能让视图接受特定形式的url参数?感谢您的建议,但轮到我来决定url的格式:(谢谢你的建议,但现在不是轮到我决定url的格式:(