Hallo!
Ich habe folgendes Problem mit meiner eigenen Extension und hoffe, dass mir hier jemand weiter helfen könnte:
Ich habe ein Formular auf der Webseite und habe dafür eine eigene Extension geschrieben, die die Form ausgeben soll, falls noch nichts übermittelt wurde und sonst einen Text.
Die Form habe ich nach der Anleitung unter http://typo3.org/documentation/document-library/form_extension_tut/ gemacht.
Nun zum Problem:
Wenn ich aus Backend die Seite anschaue, funktioniert alles super. Wenn ich aber die Seite direkt aus dem FE aufrufe (also kein be_user Cookie gesetzt), dann funktioniert die Übermittlung von Daten nicht. :-(
Eine Idee, wie ich die Seite zum Laufen kriege?
Danke im Voraus
Alex
hi
hast du den code 1 zu 1 übernommen.....
oder hast du ihn irgendwo abgeändert....
wie hast du das ganze eingebunden?
also ein wenig code, damit wir mehr wissen..
cu
thorsten
Hallo!
Danke für die Interesse an meinem Problem. 😃
Ich habe den Code praktisch kopiert.
Insbesondere steht bei mir folgendes:
$this-content .= "<form action="".$this->pi_getPageLink($GLOBALS["TSFE"]->id)."" method="post">";
$this-content .= "<input type="hidden" name="".$this->prefixId."[DATA][myVar]" value="myValue">";
...
$this-content .= "<input type="submit" name="".$this->prefixId."[submit_button]" value="".$this->pi_getLL("submit_button_MobileDeviceManufacturer")."">";
Der Formular wird also an die gleiche Seite geschickt.
Allerdings prüfe ich, bevor der Formular oder ein Text angezeigt werden, ob schon etwas übermittelt wurde:
if(isset($this->piVars['submit_button']))
...
Solange ich aus dem Back-End mit "Anzeigen" die Seite anschaue, gibt es wie gesagt keine Probleme. Da wird ja auch ein Cookie gesetzt, dass ich aus dem Back-End komme. So weit ich weiß, wird dann kein Caching genutzt. Wenn ich aber ohne diesen Cookie die Seite direkt im Frontend aufrufe, dann wird sie anscheinend "gecached". Aber wie kann ich es (bei einem Formular) umgehen?
Danke im Voraus.
Alex
Wenn Du
$GLOBALS["TSFE"]->set_no_cache();
zu Beginn Deiner den Content erzeugenden Funktion anführst, müsste es funktionieren.
Gruß
Alex
Hallo!
Danke! Das hat jetzt geholfen.
Komisch ist nur, dass ich die gleiche Zeile schon mal versucht habe, die aber nicht funktioniert hat.
Auf jedem Fall habe ich folgendes festgestellt:
Man muss:
Dann läuft alles so wie es soll.
Gruß
Alex