Il y a plusieurs façons de procéder. Le plus simple est d'avoir un lien de connexion quelque part dans la navigation qui ajoute la destination à l'URL. Le code pour cela est quelque chose comme:
<?php
if (user_is_anonymous()) {
$link = l(t('Login'), 'user/login', array('query' => drupal_get_destination()));
}
?>
Vous pouvez également définir une page refuser l'accès personnalisé à admin/paramètres/rapports d'erreurs qui pourraient soit aller à un rappel qui fournit le code ci-dessus, ou à un php simple, noeud qui génère ce code.
En outre, le bloc de connexion utilisateur fourni avec le noyau Drupal utilise la même méthode pour rediriger une connexion réussie vers la page d'origine.
Édition: Notez que les méthodes ci-dessus fonctionneront rarement pour l'enregistrement, car il y a plus d'étapes impliquées. Plus précisément, lorsqu'un utilisateur a besoin de vérifier une adresse e-mail, le passage de la destination d'origine via l'e-mail implique la modification du processus d'enregistrement de l'utilisateur principal.
Il est possible qu'il fonctionne toujours sur un site configuré pour ne pas vérifier les adresses électroniques. L'idée serait alors de fournir 2 liens: 1 pour la connexion et l'autre pour l'enregistrement, tous deux transmettant les informations de destination.
LoginToboggan peut également être la peine de poursuivre, même si elle ne propose pas encore l'enregistrement exact feature you're looking for.
C'est presque exactement ce que j'ai fait. J'ai fondamentalement personnalisé le bloc de connexion de l'utilisateur avec un lien vers la page d'inscription qui incluait la destination (avec une syntaxe similaire). Semblait fonctionner très bien. – Jared