Как перенаправить пользователей на предварительно определенный URL после входа в систему?

7

У меня есть представление в Drupal 7, в котором перечислены файлы PDF. Я хочу отслеживать пользователей, которые открывают этот файл; поэтому я хочу, чтобы, если они не вошли в систему при нажатии, они будут отправлены на страницу входа / регистрации. Я уже выполнил это, используя два представления с разными разрешениями, но проблема в том, что после регистрации они перенаправляются на страницу профиля пользователя, а не в файл PDF.

Как я могу сделать это?

Lucrozade
источник

Ответы:

8

Все формы в Drupal поддерживают внутренний параметр назначения.

Когда вы ссылаетесь на пользователя или форму пользователя / регистрации, вы можете добавить? Destination = [url]

user/register?destination=node/1

Поскольку вы отображаете список файлов с помощью Views, вам нужно будет переписать ссылку на файлы, чтобы включить параметр destination. Если вы выводите ссылку с помощью l () , вы можете добавить дополнительные данные url в третий параметр l, например:

l('Sign in to View', 'user', 'destination=node/1');
Letharion
источник
Пробовал этот подход, безуспешно. Переписали ссылку, чтобы включить файл PDF ( example.net/user?destination=http://example.net/sites/default/… ). Он переходит на страницу входа пользователя, но после входа в систему он не попадает в файл pdf, он все равно идет на страницу учетной записи пользователя ... я что-то упустил?
Лукрозаде
Извините, я добавил информацию, указав, что это работает только для внутренних путей, а не для абсолютных, так что это будет 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? destination <br /> <br /> Есть ли способ решить эту проблему? Спасибо
Лукрозаде
6

Модуль Login Destination предназначен для всех типов логинов и регистраций. На страницах проекта написано: «Кроме того, пользователи могут оставаться на посещаемой в данный момент странице после входа или выхода».

Я не использовал его раньше, но я надеюсь, что это решит вашу проблему.

MTRO
источник
2

Вы можете сделать это с помощью правил. Используйте событие после входа в систему и добавьте действие для переноса пользователя на страницу.

Dee
источник