¿Cómo redirijo a los usuarios a una URL predeterminada después de iniciar sesión?

7

Tengo una vista en Drupal 7 que enumera los archivos PDF. Quiero hacer un seguimiento de los usuarios que abren ese archivo; así que quiero que, si no inician sesión cuando hacen clic, se envían a la página de inicio de sesión / registro. Ya lo he logrado usando dos vistas con diferentes permisos, pero el problema es que, después de registrarse, se los redirige a la página de perfil de usuario, en lugar del archivo PDF.

¿Cómo puedo lograr esto?

Lucrozade
fuente

Respuestas:

8

Todos los formularios en Drupal admiten un parámetro de destino interno.

Cuando se vincula al usuario o al formulario de usuario / registro, puede agregar? Destination = [url]

user/register?destination=node/1

Como muestra la lista de archivos con Vistas, deberá volver a escribir el enlace de archivos para incluir el parámetro de destino. Si genera el enlace con l () , puede agregar los datos de url adicionales en el tercer parámetro de l como

l('Sign in to View', 'user', 'destination=node/1');
Letharion
fuente
Intenté este enfoque, sin éxito. Reescribió el enlace para incluir el archivo pdf ( example.net/user?destination=http://example.net/sites/default/… ). Va a la página de inicio de sesión del usuario, pero después de iniciar sesión, no va al archivo pdf, sigue yendo a la página de la cuenta del usuario ... ¿me falta algo?
Lucrozade
Lo siento, ahora he agregado información, señalando que esto solo funciona para rutas internas , no absolutas, por lo que sería example.net/user?destination=sites/default/files/datasheets/…
Letharion
¡Eso funcionó! El problema que tengo es este: <br /> 1.El usuario va a la vista y hace clic en el enlace pdf <br /> 2.El enlace lleva al usuario a la vista con el formulario de inicio de sesión de usuario en la parte superior < br /> 3.El usuario inicia sesión <br /> 4.El pdf se abre <br /> 5. Si el usuario hace clic en "Atrás" en el navegador, lo lleva a la misma vista (aunque ya haya iniciado sesión ahora) ) con la información del usuario en la parte superior de la vista <br /> 6.Si el usuario hace clic en otro enlace pdf, no abre el enlace, va a la misma página y luego se desplaza allí, porque esos enlaces pdf tienen el / usuario? destino <br /> <br /> ¿Hay alguna manera de resolver esto? Gracias
Lucrozade
6

El módulo de Destino de inicio de sesión es para todo tipo de inicios de sesión y registros. Las páginas del proyecto dicen: "También es posible mantener a los usuarios en la página visitada actualmente después de iniciar o cerrar sesión".

No lo he usado antes, pero espero que resuelva tu problema.

mtro
fuente
2

Puedes hacer esto con reglas. Use el evento posterior al inicio de sesión y agregue una acción para transferir al usuario a la página.

Dee
fuente