1

我目前正在一个网站上工作,该网站根据企业的位置或所属类别列出企业。检查: http: //frugalmillionaire.net/

实现的现有功能(视图、CCK 和分类):

单击主菜单链接时,业务类别作为参数传递给视图。因此,视图仅显示特定类别的业务列表。还实施 Find Local Coupons Block ;同一视图的过滤器暴露在一个块中。

我的客户想让用户选择在网站上设置他/她的位置。一旦用户设置了该位置,那么在单击主菜单(餐厅)中的链接时,应该只列出该位置集的餐厅。同样,单击任何主菜单链接应仅显示该位置集的业务。

可能的方法:1)在暴露的过滤器中设置用户选择的值。如何才能做到这一点?2) 使用 Cookie。我可以使用 Drupal Cookie 以某种方式实现这一目标吗?

请帮帮我。任何帮助/指针/相关链接将不胜感激。

谢谢

4

1 回答 1

0

我想你在问三个不同的事情。

1、如何获取当前用户的位置信息并存储? 如果用户正在设置并忘记他们的位置,请创建一个配置文件字段。位置模块可能会有所帮助。如果用户只是键入一个临时使用的位置,请将其保存到他们的会话中。

2. 您如何根据用户的位置为网站设置主题? hook_menu_alter() 可用于根据用户数据更改您的主要链接正在执行的操作。

3、如何根据这个位置预加载业务视图?

  1. 以编程方式调用视图,其中插入位置信息(如果可用)以代替暴露的过滤器。有用的视图文档

  2. Set the relevant information in your View with Arguments. Set the default to the user's location. Because you are relying on a dynamic default, you never need to send a "real" argument to the view.

于 2009-09-11T06:54:57.967 回答