User Login ohne Destination-Parameter im Anmelde-Block

am 21.05.2009 - 14:06 Uhr in
Hallo zusammen,
ich habe mit Rules festgelegt, dass User nach dem Login auf eine bestimmte Seite kommen. Bei den Rules kann man festlegen, ob die User immer auf diese Seite kommen sollen oder auf eine Seite weitergeleitet werden, wenn eine URL-Parameter übergeben wird (z.B. destination=node/5). Problem:
Ich möchte, dass meine User natürlich wieder in das Forum kommen, wenn sie im Forum auf einen Button "Anmelden, um einen Kommentar zu schreiben" klicken. Daher muss ich natürlich für die oben genannte Rule festlegen, dass die User weitergeleitet werden sollen.
Logged sich ein User aber über den Anmelde-Block ein, wird er auch auf die Seite weitergeleitet, von der aus er sich eingeloggt hat. Das soll aber nicht sein, er soll auf die in der Rule festgelegte Seite kommen.
Frage:
Ich habe mir der User-Modul angeschaut und nehme an, dass ich ab Zeile 645 etwas ändern müsste, um das zu erreichen:
function user_login_block() {
$form = array(
'#action' => url($_GET['q'], array('query' => drupal_get_destination())),
'#id' => 'user-login-form',
'#validate' => user_login_default_validators(),
'#submit' => array('user_login_submit'),
Nur leider habe ich nicht ausreichend Kenntnisse in PHP, um da jetzt dran zu werkeln... könnte mir bitte jemand sagen, wie ich diesen Code so ändere, dass im Anmelde-Block kein Destination-Parameter an die URL gehängt wird? Wäre das überhaupt die Lösung?
Viele Grüße
Tobias
- Anmelden oder Registrieren um Kommentare zu schreiben
Mit Trigger und Aktionen
am 21.05.2009 - 14:32 Uhr
Mit Trigger und Aktionen kannste glob ick och festlegen, wohin die Piloten fliegen sollen nach dem Anmelden. Laut Code fliegste da wieder hin, wo du gestartet bist. Was doch ganz nett ist.
----------------------------------------
http://tobiasbaehr.de/
Gelöste Forenbeiträge mit [gelöst] im Titel ergänzen
Ein Forum ist kein Ersatz für das www (Google.de).
Noch einmal: Die User
am 21.05.2009 - 14:59 Uhr
Noch einmal: Die User sollen, wenn sie sich über den Block (!!) einloggen, eben nicht dort wieder ankommen, von wo sie gestartet sind, sondern auf der in den Rules (oder mit Trigger und Aktionen, ist ja wurscht) definierten Seite. Daher liegt für mich der Verdacht nahe, den Code vom Block irgendwie zu ändern, da ich sonst ja festlegen muss, dass die User IMMER auf dieser festgelegten Seite landen - was sie ja nicht sollen (z.B. wenn sie im Forum auf "Anmelden, um einen neuen Beitrag zu schreiben" klicken)...
notfalls kannste per
am 21.05.2009 - 15:15 Uhr
notfalls kannste per hook_form_user_login_block_alter die action unsetten
danach sollte rules auch funktionieren
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.
hmmm.... bestimmt ein toller
am 21.05.2009 - 18:33 Uhr
hmmm.... bestimmt ein toller Tipp, doch sagt mir das als Nicht-Programmierer auch nicht wirklich was...
Zitat: `S Lebe isch halt
am 21.05.2009 - 18:42 Uhr
`S Lebe isch halt koi Schlotzer
:)
Unter http://drupal.org/node/508 findest du Dokumentation wie du ein Modul schreibst, dann lernst du automatisch wie man hooks benutzt und dann wird der hook_form_alter hook kein Problem sein
Alternativ kann ich dir das kleine Modul auch erstellen aber dann hättest du weniger Lerneffekt :p
--------------
Blog www.freeblogger.org: Deutscher IRC-Channel: irc.freenode.net #drupal.de ... Jabber-me: dwehner@im.calug.de
SirFiChi ist auch dein Halbgott.