Drupal:自定义视图过滤器

时间:2010-06-02 18:02:05

标签: drupal drupal-views

我要说的第一件事是我是一个Drupal新手。所以,我将逐步详细地感谢您的回答。

我正在使用Drupal 6和位置模块。有两种主要内容类型 - 用户配置文件(使用内容配置文件模块)和事件内容类型。两者都有一个位置字段。

现在,让我们假设在他的个人资料中,用户选择城市为多伦多,省选为安大略省。多伦多市也增加了一些活动。我需要一个视图,它将显示来自用户城市的事件。因此,如果用户来自温哥华,并且他们点击“我的城市活动”,他们将看到来自他们城市的活动列表。有人告诉我,我可以使用参数/关系来实现这一点,但我不知道该怎么做。

有人可以帮帮我吗?我也不擅长PHP :(

1 个答案:

答案 0 :(得分:0)

最简单(但可能不是最佳)的方法是在视图中添加“City”参数。这在“视图配置”页面的“参数”部分中完成。您只需选择要用作参数的字段。在您的情况下,这将是“事件”内容类型的“城市”字段。

添加此参数后,如果显示视图,例如,在路径'/ my-city-events'下,您必须将该用户的城市作为此URL中的参数传递,例如'/我的城市事件/温哥华。

因此,要让用户查看他所在城市的事件,您需要向他提供一个包含其个人资料中所列城市的链接。我不确定内容配置文件模块是如何工作的,但基本上你需要做一些PHP编程来获取用户的城市并创建正确的链接。

更好的方法是从他的个人资料中自动获取用户城市,而不是将其传递到网址中。我不确定如何在没有任何编程的情况下完成这项工作,但如果你想尝试,这个模块可能会有所帮助:http://drupal.org/project/user_relationships