hook_menu: Funktion ausführen, danach Seite neu laden
Eingetragen von Kaffeebecher (23)
am 03.07.2011 - 11:24 Uhr in
am 03.07.2011 - 11:24 Uhr in
Hallo zusammen,
ich habe einen HTML-Link, der über hook_menu auf eine Funktion zugreift.
Dadurch wechselt die Seite natürlich zu diesem Pfad.
Das möchte ich aber gar nicht. Ich möchte nur, dass die Funktion aufgerufen wird und dann entweder die Seite neu lädt oder gar nichts passiert.
Ist das möglich?
Oder brauche ich dafür gar nicht hook_menu und muss irgendetwas anderes nutzen?
Viele Grüße
- Anmelden oder Registrieren um Kommentare zu schreiben
Du hast also einen Node und
am 03.07.2011 - 15:03 Uhr
Du hast also einen Node und darin einen Link und wenn man auf diesen Link klickt, soll eine PHP-Funktion ausgeführt und anschließend die ursprüngliche Seite wieder geöffnet werden, ja?
Dann kannst du das schon so machen mit hook_menu
In der PHP-Funktion kannst du ja dann alles abarbeiten und ganz am Ende machst du (anstatt eines
return
) eindrupal_goto()
und gehst damit zurück zur ursprünglichen Seite. Für den Nutzer wird's dann so aussehen, als ob nur die Seite neu geladen wird.Okay, das hab ich soweit
am 03.07.2011 - 15:08 Uhr
Okay, das hab ich soweit verstanden. Das klingt gut.
Aber woher krieg ich den drupal_goto-Pfad?
Wenn ich die Funktion aufrufe, habe ich vermutlich schon den neuen Pfad oder?
Wie genau erstellst du denn
am 03.07.2011 - 15:23 Uhr
Wie genau erstellst du denn den Link? mit der l-Funktion? Da kannst du nämlich einfach noch ein paar GET-Parameter anhängen, die du dann auslesen kannst. z. B. noch eine Destination. Den kannst du dann auslesen und als Pfad verwenden.
Bsp.:
Link: example.com/mein_pfad&destination=mein_erster_pfad
<?php drupal_goto($_GET('destination')); ?>
Das ist jetzt nur mal schnell hingeschrieben und funktioniert so vermutlich nicht, sondern muss noch ein wenig angepasst werden. Aber vom Prinzip her müsste es so klappen.
Okay, vielen Dank. So werde
am 03.07.2011 - 19:32 Uhr
Okay, vielen Dank.
So werde ich es wohl mal versuchen.