Posted by frippuz on May 14, 2009 at 5:59am
jag har försökt göra... drupal_goto('node/3');
...i en funktion som implementerar hook_user. Koden körs men ingen relocate görs.
node/3 finns men heter förståss något annat då mod_rewrite används.
Vad missar jag?

Comments
Funktionen drupal_goto
Funktionen
drupal_goto()skickar en HTTP-header och som instruerar webbläsaren att gå till en annan URL. För att det ska fungera måste headern skickas innan resten av sidan hunnit laddats. Du måste alltså till se till din kod körs innan något skickats till webbläsaren.Jakob Persson - NodeOne
Jakob Persson – Leancept – Results-only digital and marketing consultants – Personal blog
...och min lösning
Det var troligtvis problem med relocate i samband med en user_hook på login - så jag körde det hårda sättet och plockade valda delar från hook_user(). Resultat blev såhär:
function relocate($url){session_write_close();
header('Location: '. $url, TRUE, 302);
exit();
}
och skickar in t.ex. 'node/3' till den för en lyckad relocate.
Hugg gärna på den här lösningen, vet inte om den är sund :-p
//Fr3dr1c
Det förklarar problemet.
Det förklarar problemet. Just inloggningen är lite av en kuggis. Drupal gör nämligen en sidomladdning direkt efter att du autentiserats. Detta innebär att du inte kan göra debugging med dpm() utan får antingen gör det på "riktigt" sätt (med XDebug eller Zend Debugger) eller helt enkelt använda
die().Jakob Persson - NodeOne
Jakob Persson – Leancept – Results-only digital and marketing consultants – Personal blog