Zum Inhalt springen

Seitenanzeige nach Abschicken des Formulares

Erstellt am 25. September 2006 · 2 Antworten · letzte Antwort am 6. Oktober 2006

Tags: Frage

bpohl ·

Hallo zusammen,

ich bin noch nicht besonders erfahren mit Typo3 und habe jetzt meine erste Webseite mit Typo3 (noch 3.81) online gestellt. Ich habe aber ein Problem mit einem Formular, welches ich einsetzen möchte. Ich habe es erstellt mit dem eingebauten Formulareditor. Nachdem der Anwender seine Daten eingegeben hat, klickt er auf einen "Absenden"- Knopf. Danach soll eine eigene Seite erscheinen "Danke für Ihre Nachricht ....", die ansonsten nicht angezeigt wird.

Das Problem ist, das der Inhalt dieser Seite richtig angezeigt wird, aber nicht im Layout der Seite sondern im Typo3-Basislayout (so nenne ich das mal). Außerdem erscheint die Seite nicht im selben Browserfenster (bzw. -tab), sondern in einem neuen Fenster (oder Tab).

Was mache ich falsch? Stimmt da irgendwas an meinem Typoscript nicht (wenn nötig bzw. gewünscht, kann ich diesen hier hochladen)? Wo muß ich suchen?

Danke,

Bernhard

Unbekannter Benutzer ·

Hallo bpohl!

Ich habe auch schon mit dem Mailformular gearbeitet und Deine Probleme nicht. Prinzipiell geht's also...

Wenn die "Bestätigunsseite" nicht im selben Layout angezeigt wird, greift offenbar Dein Template nicht mehr. Ich habe es bei mir so gemacht, dass die Bestätigungsseite eine Ebene tiefer als die Seite mit dem Formular liegt, damit läuft alles glatt. In den Eigenschaften der Bestätigungsseite habe ich natürlich "Not in menu" angekreuzt, damit sie in der Navigation verborgen bleibt. Diese Platzierung der Bestätigungsseite hat auch den Vorteil, dass ein Menüpunkt wie "Kontakt" o.ä. weiterhin als aktiv gilt, wenn Du die Bestätigungsseite siehst.

Bei automatisch generierten Inhaltselementen (wie Menüs, aber eben auch dem Mailformular) bekommen die entsprechenden HTML-Tags von Typo3 meistens ein target-Attribut mitgeliefert. Das führt dann vor allem beim Internet Explorer dazu, dass sie in einem neuen Fenster erscheinen, auch wenn das keinen Sinn macht. Du kannst das aber folgendermaßen abstellen:

Schreibe in das "CONSTANTS"-Feld Deines Templates folgendes:

PAGE_TARGET =

Manche Inhaltselemente verwenden leider nicht die Variable PAGE_TARGET, sondern ein Ding namens content.pageFrameObj. Die solltest Du daher ebenfalls auf 0 setzen:

content.pageFrameObj =

(ebenfalls im CONSTANTS-Feld).

Wenn Du das target nur für das Mailformular löschen willst, schreibst Du statt dessen

styles.content.mailform.target =

Generell empfiehlt es sich, sich im Browser den Quellcode einer Seite anzuschauen, wenn Typo3 nicht das macht, was Du willst. Wie Typo3 die HTML-Befehle generiert, kann man sehr stark beeinflussen, allerdings ist es oft sehr schwer, die richtige Stelle zu finden. Aber da kann dann oft die Nutzergemeinde weiterhelfen.

Noch viel Erfolg!
Harald