logout redirect/destination
Eingetragen von dude (338)
am 04.08.2009 - 14:31 Uhr in
am 04.08.2009 - 14:31 Uhr in
hallo forum,
gibt es wirklich kein modul mit dem man die "destination" (bzw. redirect) nach logout bestimmen kann?
ich habe z.b. das hier gefunden http://www.projectpier.org/node/572
aber ich weiss nicht wohin mit dem code? eine config.php habe ich nicht gefunden. muss ich die selber anlegen? und wenn ja wo, in welchem verzeichnis?
grüsse vom dude
- Anmelden oder Registrieren um Kommentare zu schreiben
logout redirect
am 04.08.2009 - 14:45 Uhr
eine config.php habe ich nicht gefunden. muss ich die selber anlegen? und wenn ja wo, in welchem verzeichnis?
Im Verzeichnis config Deiner "Projectpier"-Installation.
Der dort gezeigte Code hat also überhaupt nichts mit Drupal zu tun.
Folgender Code in einem Modul leitet nach dem Abmelden auf "node/1":
<?php
// $Id$
/**
* @file
* Redirect after logout.
*/
function logoutredirect_user($op, &$edit, &$account, $category = NULL) {
if ($op == 'logout' && !isset($_REQUEST['destination'])) {
$_REQUEST['destination'] = 'node/1';
}
}
?>
Dazu noch eine kleine logoutredirect.info erstellt und schon funktioniert das.
; $Id$
name = Logout redirect
description = Redirect after logout.
core = 6.x
Das Ganze könnte man dann noch beliebig konfigurierbar gestalten.
hth,
Stefan
--
sei nett zu Deinem Themer
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
?
am 04.08.2009 - 15:57 Uhr
erst mal vielen dank für deine antwort.
leider funktionierts noch nicht .. ich habe also unter sites/all/modules einen ordner "logoutredirect" angelegt.
dort eine "logoutredirect.module" angelegt (ersten code mit php dort reinkopiert) und dort auch eine "logoutredirect.info" angelegt (zweiten codeschnipsel dort hineinkopiert).
unter verwalden -> module taucht es aber nicht auf. und auf node/1 komme ich beim ausloggen auch noch nicht. was könnte ich falsch gemacht haben?
EDIT: ich depp! habs übersehen in der modul liste, weil ich hab nach "logoutredirect" gesucht, also ohne leerzeichen, da findet ers natürlich nicht.
supercool! vielen vielen dank! du hast mir wirklich sehr geholfen. bist du vielleicht mal beim drupal stammtisch in münchen? sag bescheid, ich geb dir einen aus. ;-)
EDIT II: aber kann man das vielleicht noch dahingehend erweitern, dass man bei falscher passworteingabe beim login auch auf die node/1 kommt?
-----
Ich spreche leider kein PHP. (Mit "Hooks", "Funktionen" etc. kann ich daher leider nicht arbeiten.) Bitte bei der Beantwortung meiner Fragen berücksichtigen. Danke!
redirect nach logout
am 04.08.2009 - 20:58 Uhr
Hallo,
da habe ich eine einfache Lösung:
Bei deinem Menüpunkt "Logout" oder "Abmelden" änderst Du den Pfad von
/logout
auf
/logout?destination=deinlogoutpfad
Z. Bsp. mit
/logout?destination=blog
landest Du auf der Weblog-Startseite der Drupal-Installation, anstelle von "blog" kannst Du jeden beliebigen Pfad einsetzen, z. Bsp. "node/1".
Okay?
gut gut
am 04.08.2009 - 21:27 Uhr
aha .. gut gut .. aber wie könnte man noch einen redirect auf node/1 erreichen wenn man sich beim einloggen vertippt hat?
wir haben z.b. ne erotikseite .. da ist eine "18? ja/nein" seite vorgeschaltet .. in dem fall ist ja eher suboptimal wenn man nach fehlgeschlagenem login diese frage erst mal wieder neu beantworten muss. aber gibt sicher auch noch andere anwendungsfälle wo mans brauchen könnte.
-----
Ich spreche leider kein PHP. (Mit "Hooks", "Funktionen" etc. kann ich daher leider nicht arbeiten.) Bitte bei der Beantwortung meiner Fragen berücksichtigen. Danke!
Umleitung
am 05.08.2009 - 07:13 Uhr
aber wie könnte man noch einen redirect auf node/1 erreichen wenn man sich beim einloggen vertippt hat?
Dazu musst Du dem Login-Formular eine zusätzliche Validierungsfunktion mitgeben und bei den entsprechenden Ereignissen mittels
<?php $form['#redirect'] = 'node/1'; ?>
auf die gewünschte Seite umleiten.Ich spreche leider kein PHP. (Mit "Hooks", "Funktionen" etc. kann ich daher leider nicht arbeiten.)
Meinst Du nicht, dass es langsam mal Zeit wird, PHP und die Basics der Drupal-Entwicklung zu lernen? "Keine Zeit" gilt nicht als Ausrede.
hth,
Stefan
--
sei nett zu Deinem Themer
Tipp: Beachte die Verhaltensregeln des DrupalCenter.
stBorchert schrieb Dazu
am 05.08.2009 - 23:37 Uhr
Dazu musst Du dem Login-Formular eine zusätzliche Validierungsfunktion mitgeben und bei den entsprechenden Ereignissen mittels
<?php $form['#redirect'] = 'node/1'; ?>
auf die gewünschte Seite umleiten.:-( gut, dass wirs anders lösen konnten.
Meinst Du nicht, dass es langsam mal Zeit wird, PHP und die Basics der Drupal-Entwicklung zu lernen? "Keine Zeit" gilt nicht als Ausrede.
zeit hab ich momentan zwar tatsächlich nicht so viel, aber das ist nicht das problem. ich könnte es ja langsam angehen. und lust hätt ich sogar auch.
sogar material wäre schon vorhanden. habe 2 bücher. "programmieren mit php" und "php - ein praktischer einstieg". gut, das ist jetzt ein anderes thema, aber wenn du's schon ansprichst.
diese autoren haben leider NULL einfühlungsvermögen für die probleme eines anfängers. oder sie wollen sich gar nicht an anfänger wenden, sondern an leute die schon sowas wie c++ oder java oder so drauf haben und ganz schnell nen crash kurs in php brauchen.
anders ist für mich nicht zu erklären warum der eine im ersten kapitel mit "echo 'hallo welt';" anfängt und im 2ten kapitel auf die objektorientierte programmierung losgeht. da bin ich einfach ausgestiegen. es folgen seitenweise scripte ... ich sags ganz ehrlich, ich hab nur noch "bahnhof" verstanden.
zudem kommt dann das ich niemanden fragen kann. ich sitze hier nicht in einem team mit lauter entwicklern um mich rum. d.h. eine zeile, einen abschnitt den ich nicht verstanden habe, wo mir etwas unklar ist .. das buch kann ich nicht fragen.
viele sachen an der syntax sind mir schon nicht klar. in büchern wird immer erklärt was variablen, schleifen, (mehrdimensionale) arrays usw. sind. ok .. aber erstens erklärt das nicht die technik des programmierens und zweitens tauchen immer wieder syntaktische dinge auf die mir nichts sagen.
das fängt schon in deinem kleinen script an:
// $Id$
/**
* @file
* Redirect after logout.
ok, dieses "$Id$" ist auskommentiert, aber was soll das bedeuten?
Die Basics der Drupal Entwicklung sind für mich HTML, CSS und wie man die module einsetzt um das abzubilden was man haben möchte. da es einige tausend module für drupal gibt .. ist das gar nicht so wenig. wenn ein kunde mehr will muss er einen entwickler mit ins boot holen.
es reicht ja immerhin auch soweit, dass ich eigene layouts integrieren kann. (damit komm ich ganz gut klar: http://api.drupal.org/api/file/modules/system/page.tpl.php/6 soweit reichts noch) wenn ich hier so lese, dann fällt auf, dass viele einfach nur fertige themes einsetzen. das käme für mich nicht in frage.
als designer bin ich damit eh schon weiter als die meisten kollegen. aber zum programmierer reichts einfach nicht. zumal ich, um es wirklich beruflich professionell einsetzen zu können, ein niveau erreichen müsste von dem ich lichtjahre entfernt bin.
-----
Ich spreche leider kein PHP. (Mit "Hooks", "Funktionen" etc. kann ich daher leider nicht arbeiten.) Bitte bei der Beantwortung meiner Fragen berücksichtigen. Danke!