登录后如何将用户重定向到预定的URL?


7

我在Drupal 7中有一个视图,其中列出了PDF文件。我想跟踪打开该文件的用户;所以我想,如果他们单击时未登录,则将其发送到登录/注册页面。我已经使用具有不同权限的两个视图完成了此操作,但是问题是,在他们注册后,它们被重定向到用户配置文件页面,而不是PDF文件。

我该怎么做?

Answers:


8

Drupal中的所有表单均支持内部目标参数。

链接到用户或用户/注册表单时,可以添加?destination = [url]

user/register?destination=node/1

由于您使用“视图”显示文件列表,因此您将需要重新编写文件链接以包含目标参数。如果使用l()输出链接,则可以在l的第三个参数中添加额外的url数据,例如

l('Sign in to View', 'user', 'destination=node/1');

尝试了这种方法,但未成功。重新编写链接以包含pdf文件(example.net/user?destination=http://example.net/sites/default/…)。它转到用户登录页面,但是登录后,它没有转到pdf文件,它仍然转到用户帐户页面...我缺少什么吗?
Lucrozade 2012年

对不起,我现在又增加了信息,指出这仅适用于内部路径,而不是绝对的,所以这将是example.net/user?destination=sites/default/files/datasheets/...
Letharion

没问题!我遇到的问题是:<br /> 1.用户转到视图并单击pdf链接<br /> 2.链接将用户带到顶部带有用户登录表单的视图< br /> 3.用户登录<br /> 4.pdf打开<br /> 5.如果用户在浏览器中单击“后退”,则会将他带到相同的视图(即使他现在已登录) ),并将用户信息放在视图顶部。<br /> 6.如果用户单击另一个pdf链接,则它没有打开该链接,它转到同一页面,然后在该页面循环,因为这些pdf链接包含/ user?目的地<br /> <br />是否可以解决此问题?Thanx
Lucrozade 2012年

6

登录目的地模块是所有类型的登录和注册的。项目页面说:“登录或注销后,也可以将用户保持在当前访问的页面上。”

我以前没有使用过,但希望它能解决您的问题。


2

您可以使用规则执行此操作。使用登录后事件并添加操作以将用户转移到页面。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.