Zum Inhalt springen

submit & fetch_the_id

Erstellt am 21. April 2006 · 3 Antworten · letzte Antwort am 12. Mai 2006

Tags: Frage

garbast ·

Habe ein aus meiner Sicht recht schwieriges Problem. Deshalb zunächst die Teile, die funktionieren.

Ich habe 2 Extentions die vom User Daten eingegeben bekommen, welche dann von submit.inc in der Datenbank gespeichert werden. Beide Formulare sind einzeln gesehen funktional fertig und speichern auch korrekt. Also gehe ich mal davon aus, dass an den Stellen wo es um die Speicherung geht zu keinen Problemen mehr kommt.

Jetzt ist es aber so, dass die erste Extention 2 Endstadien hat. In dem einen bekommt der User einfach nur ein Dankeschön zu lesen und alles ist gelaufen. Das klappt auch so weit. Zumindest wenn ich per HEADER aus der submit.inc auf die Endseite forwarde.

Im zweiten Stadium wird auf das zweite Formular weitergeleitet. Das wird erreicht in dem im ersten Formular ein Radiostate auf yes geklickt wird. Dieses zweite Formular soll Daten aus dem ersten Formular erhalten, damit der User weniger Felder ausfüllen muss.

Um auch diesen Forward zu realisieren und gleichzeitig die Daten zu übergeben, wollte ich auf das TSFE zurückgreifen. Deshalb habe ich getestet ob man dem TSFE bekannt machen kann wohin umgeleitet werden soll. Dafür verwende ich folgende Zeilen:

$GLOBALS["TSFE"]->id = $ziel;
$GLOBALS["TSFE"]->fetch_the_id();

Wenn ich mir per debug den Inhalt von $GLOBALS["TSFE"] anzeigen lasse, so erhalte ich das Array mit den Angaben zur Zielseite. Also würde ich annehmen, dass diese Seite auch erreicht wird. Wenn ich aber nach dem Debug ein sperrendes DIE(); entferne erhalte ich die Ausgangsseite und nicht das gewünschte Ziel.

Irre ich mich, oder wird die Seite bereits vorher gerendert? Wie kann ich erreichen, dass nicht nur im Array die Seite erneuert wird sondern auch die Zielseite für den User angezeigt wird?

steffenk ·

Hallo,

$GLOBALS["TSFE"]->id enthält die ID der aktuellen Seite. Wenn Du da was reinschreibst, nutzt das nichts, da Typo3 nach dem Laden der Seite dort wieder die aktuelle ID reinschreibt.

Du solltest also die Url auf konventionellem Weg erzeugen, dazu gibt es die Funktion pi_getPageLink.

garbast ·

Anscheinend wird nicht klar was ich damit erreichen will.

Es geht nicht darum einen Link zu erstellen sondern eine Seite umzuleiten.

Und das es nicht reicht nur die ID rein zu schreiben ist mir auch klar. Deshalb verwende ich ja die zweite Zeile um die ID auch bekannt zu machen. Wenn ich dann mit per Debug($Global["TSFE"]) den Inhalt anzeigen lasse, dann wird mir in dem Dump auch der Inhalt der gewünschten Seite angezeigt.

Allerdings scheint es so, als wenn der Content bereits gerendert ist bevor die submit.inc included wird. Es scheint so, als wenn die TSFE nach nicht mehr berücksichtigt wird nachdem in der index.php in Zeile 360 die Page generiert wurde.

Gibt es eine Möglichkeit den Include der submit.inc vor zu ziehen oder die Page Generierung danach nochmals anzustossen?

garbast ·

Das Thema scheint ja einige zu interessieren, ansonsten würden nicht so viele rein schauen. Hat denn keiner ne Info wie man das umsetzen kann?