Form redirect mit (noch) unbekannter Node-ID
am 14.08.2009 - 15:20 Uhr in
Hallo,
ich habe ein kleines Problem und hoffe auf eure Hilfe.
Ich möchte ein Formular, mit dem ich ein Node anlege, nach erfolgreichem Anlegen zu einer bestimmten Seite weiterleiten.
In meinem Fall sowas wie: /content/created/NID, wobei NID die ID des gerade erstellten Nodes sein soll.
Grundsätzlich gibt es ja $form['#redirect'], was auch schön funktioniert, hier muss ich ja aber einen Variable setzen, deren Wert ich noch garnicht kenne. Wie mache ich sowas am besten?
Vielen Dank und viele Grüße
Sebastian
- Anmelden oder Registrieren um Kommentare zu schreiben

Also wenn du zur gerade
am 14.08.2009 - 15:39 Uhr
Also wenn du zur gerade erstellten Node weiterleiten willst, ist das Drupal Standard-Verhalten. Ansonsten ist es weder logisch noch technisch möglich an einen Ort zu gehen, bevor er existiert. (Jetzt kommt mir nicht mit Raumschiff Enterprise) :-)
Vielleicht kannst du den konkreten Fall noch etwas anders beschreiben.
Grüße, Ronald
Ok, etwas mehr Details
am 14.08.2009 - 15:42 Uhr
Ok, etwas mehr Details :-)
Ich erstelle ein Node mit dem Titel "Das ist mein Node". Nun möchte ich, dass ich nach dem Anlegen des Nodes (über ein erweitertes Standard-Node-Formular (/node/add/mein-node)) zu einer Seite weitergeleitet werde, wo es dann heißt:
Das Node "Das ist mein Node" wurde erfolgreich angelegt - und eben nicht direkt zum Node springen.
Ich hoffe, jetzt ist's klarer ;-)
Viele Grüße
Sebastian
Würde dir die von Drupal
am 14.08.2009 - 16:01 Uhr
Würde dir die von Drupal ausgegebene Statusnachricht, die nach dem Anlegen einer neuen Node erscheint, denn reichen? Die macht sinngemäß ja genau das, was du willst.
Ansonsten ist ja nicht der Ort unbekannt, zu dem du springen willst, sondern nur, was dieser anzeigen soll. Würde man diesem Ort die ID der Node übergeben, die eben erstellt wurde, könnte dieser "Ort" ja alles mögliche zur erstellten Node anzeigen.
Grüße, Ronald
Hi! Genau das ist ja das
am 14.08.2009 - 19:00 Uhr
Hi!
Genau das ist ja das Ziel, dass dieser Ort alles mögliche anzeigt :-)
Das von mir aufgezeigte Beispiel war stark vereinfacht. Mein Node hat beispielsweise das zusätzliche Feld "access_token", das beim Erstellen gefüllt wird. In Zukunft soll der Node nur noch über eine spezielle URL erreichbar sein, die den generierten Token als Parameter hat. Daher benötige ich diese "Zwischenseite", die einige Statusinformationen, einigen beschreibenden Text und eben den Link mit dem Token als Parameter enthält.
Was wäre denn, wenn ich ans Ende meiner hook_insert()-Implementierung ein drupal_goto() reinsetze. Zu diesem Zeitpunkt hätte ich ja alle Werte. Ist das ein "legaler" Weg oder umgehe ich da irgendwas innerhalb von Drupal?
Viele Grüße
Sebastian
Also ich bin kein Coder
am 14.08.2009 - 19:29 Uhr
Also ich bin kein Coder (bekennender Weise), weshalb ich nicht auf API-Ebene mit einer qualifizierten Antwort dienen kann. Was ich sagen wollte: Nachdem du eine Node erstellt hast, kannst du mit Hilfe von PHP oder auch Views beliebige Daten aus deiner neuen Node abfragen. "Hallo, danke für die Node, der Token lautet http://server.de/$token".
Du könntest ja auch einstellen, dass der Autor der Node den Token normal sehen kann, ein anderer User oder Gast eben nicht. Vielleicht löst das auch dein Problem.
ciao, Ronald