Comment rediriger les utilisateurs vers une URL prédéterminée après la connexion?

7

J'ai une vue dans Drupal 7 qui répertorie les fichiers PDF. Je veux garder une trace des utilisateurs qui ouvrent ce fichier; Je veux donc que, s'ils ne sont pas connectés lorsqu'ils cliquent, ils soient envoyés à la page de connexion / inscription. J'ai déjà accompli cela en utilisant deux vues avec des autorisations différentes, mais le problème est qu'après leur inscription, ils sont redirigés vers la page de profil utilisateur, par opposition au fichier PDF.

Comment puis-je accomplir cela?

Lucrozade
la source

Réponses:

8

Tous les formulaires dans Drupal prennent en charge un paramètre de destination interne.

Lorsque vous créez un lien vers le formulaire utilisateur ou utilisateur / enregistrement, vous pouvez ajouter? Destination = [url]

user/register?destination=node/1

Puisque vous affichez la liste des fichiers avec des vues, vous devrez réécrire le lien des fichiers pour inclure le paramètre de destination. Si vous affichez le lien avec l () , vous pouvez ajouter les données d'URL supplémentaires dans le troisième paramètre comme

l('Sign in to View', 'user', 'destination=node/1');
Létharion
la source
J'ai essayé cette approche, sans succès. Réécriture du lien pour inclure le fichier pdf ( example.net/user?destination=http://example.net/sites/default/… ). Il va à la page de connexion de l'utilisateur, mais après s'être connecté, il ne va pas au fichier pdf, il va toujours à la page du compte d'utilisateur ... est-ce que je manque quelque chose?
Lucrozade
Désolé, j'ai maintenant ajouté des informations, soulignant que cela ne fonctionne que pour les chemins internes , pas absolus, ce serait donc exemple.net/user?destination=sites/default/files/datasheets/…
Letharion
Le problème que j'ai est le suivant: <br /> 1.L'utilisateur accède à la vue et clique sur le lien pdf <br /> 2.Le lien amène l'utilisateur à la vue avec le formulaire de connexion utilisateur en haut < br /> 3.L'utilisateur se connecte <br /> 4.Le pdf s'ouvre <br /> 5.Si l'utilisateur clique sur "retour" dans le navigateur, il le ramène à la même vue (même s'il est connecté maintenant ) avec les informations de l'utilisateur en haut de la vue <br /> 6.Si l'utilisateur clique sur un autre lien pdf, il n'ouvre pas le lien, il va à la même page, puis il y fait un cycle, car ces liens pdf ont la destination / utilisateur? <br /> <br /> Existe-t-il un moyen de résoudre ce problème? Thanx
Lucrozade
6

Le module Destination de connexion est destiné à tous les types de connexions et d'inscriptions. Les pages du projet indiquent: "Il est également possible de garder les utilisateurs sur la page actuellement visitée après la connexion ou la déconnexion."

Je ne l'ai pas utilisé auparavant, mais j'espère que cela résoudra votre problème.

mtro
la source
2

Vous pouvez le faire avec des règles. Utilisez l'événement après la connexion et ajoutez une action pour transférer l'utilisateur vers la page.

Dee
la source