relocate?

Events happening in the community are now at Drupal community events on www.drupal.org.
frippuz's picture

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

solipsist's picture

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

...och min lösning

frippuz's picture

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.

solipsist's picture

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

Sweden

Group notifications

This group offers an RSS feed. Or subscribe to these personalized, sitewide feeds: