Submitted by patk29 on
je souhaite rediriger le user qui se connecte pour la premiere fois vers sa page "mon compte" pour y completer ses infos persos.
j'ai essayé la fonction suivante :
function login_user_login(&$edit, &$account){
global $user;
$first_con = db_query("SELECT access FROM {users} WHERE uid = ".$user->uid)->fetchField();
if ($first_con == 0){
//$_REQUEST['destination'] = 'user';
//drupal_goto('user/' . $user->uid);
//header('Location: '. url('user', array('absolute' => TRUE)), TRUE, 302);
drupal_set_message(t('User '.$user->uid.' Vous avez été redirigé vers votre page "Mon compte". Veuillez complèter votre profil.'));
}
seule drupal_goto me redirige mais pas au bon endroit, les autres comme $_REQUEST ou header ne font rien.
merci de votre aide
Salut, Où est-ce que la
Permalien Soumis par Marvine le 13 Juillet, 2011 - 11:13
Salut,
Où est-ce que la fonction drupal_goto te redirige ?
As-tu essayé en précisant la $base_url de ton site (http://api.drupal.org/api/drupal/developer--globals.php/global/base_url) comme préfixe de 'user/' ?
Par exemple :
global $base_url;
drupal_goto($base_url . '/user');
Bonjour, Il n’y a pas besoin
Permalien Soumis par Ralt le 13 Juillet, 2011 - 12:33
Bonjour,
Il n'y a pas besoin d'utiliser base_url.
Par contre, il n'y a pas non plus besoin d'utiliser global $user.
La variable $account (qui n'est pas passée en référence, comme votre exemple le montre) est l'objet contenant toutes les informations relatives à l'utilisateur.
Plus d'infos : http://api.drupal.org/api/drupal/modules--user--user.api.php/function/ho...
j’ai essayé ça mais ça ne
Permalien Soumis par patk29 le 13 Juillet, 2011 - 19:52
j'ai essayé ça mais ça ne marche pas la redirection ne va pas au compte user
par contre le lien proposé avec le get destination fonctionne en affichant un message avec le lien. c'est donc une alternative meme si c'est pas direct.
PS : apparemment je viens de lire sur le site officiel que drupal_goto ne fonctionne pas dans un hook_user_login ceci explique cela donc !! pas tres logique tout cela !!
C’est possible de le faire
Permalien Soumis par Numerizen le 15 Juillet, 2011 - 10:53
C'est possible de le faire sans code, avec Trigger et Action.
oui effectivement mais dans
Permalien Soumis par patk29 le 16 Juillet, 2011 - 07:47
oui effectivement mais dans les triggers par défaut il n'existe qu'un trigger à la création du compte et pas à la première connexion de l'utilisateur comme j'aurai besoin