|
|||||||
| Registrieren | Hilfe | Benutzerliste | Kalender | Suchen | Heutige Beiträge | Alle Foren als gelesen markieren |
|
#1
|
|||
|
|||
|
Hallo Liste,
wie realisiere ich Zielseite bei eigener Extension? Ich habe eine eigene Extension die ein spezielles Formular verarbeitet. Nun möchte ich nach erfolgreichem verarbeiten an eine spezielle Seite (habe ich per Flexform angegeben) weiterleiten. Meine Frage lautet nun: Wie mache ich das richtig? Mein funktionierender Ansatz zur Zeit (gekürzt ![]() /** * Hauptfunktion des Plugin. * Auswertungen von Variablen und Start aller Berechnungen * * @param string $content: PlugIn Inhalt * @param array $conf: PlugIn Konfiguration * @return Inhalt der auf der Webseite angezeigt wird */ function main($content,$conf) { $content = $this->doschadensmeldung($this->conf['zielPID']); return $this->pi_wrapInBaseClass($content); // Ende function main } /** * SCHADENSMELDUNG VERARBEITEN. * Das Eingabeformular verarbeiten. * Eintragen der Formularfelder in die DB * * @param string $this->zielPID: PID der Zielseite * @return Ausgabe einer Danke-Seite */ function doschadensmeldung($this->zielPID) { $this->formid = $this->generate_schadensmeldung(); $this->orderSubmition($this->formid); header('Location: '.t3lib_div::locationHeaderUrl($this->pi_getPageLink($this->zielPID))); return; // Ende function doschadensmeldung } Nun kommt mir das aber wie ein Koitus Interuptus vor. Gibt es da eine sauberere/schönere Lösung? Oder ist das so gedacht? Danke für eure Hilfe und Vorschläge. Schönen Abend Martin _______________________________________________ TYPO3-german mailing list TYPO3-german (AT) lists (DOT) netfielders.de http://lists.netfielders.de/cgi-bin/...o/typo3-german |
|
#2
|
|||
|
|||
|
Naja,
willst du nun weiterleiten oder nicht? Ich denke nicht, dass es viele andere Möglichkeiten gibt einen HTML-request umzubiegen. Du kannst natürlich auch ein Javascript in den Header zaubern das eine neue Seite liest. Aber das funzt nicht wenn der Besucher Javascript ausgeschaltet hat. Aber du hast recht. Es fühlt sich komisch an. Gruß Michael Am Tue, 25 Sep 2007 19:32:03 +0200 schrieb Martin Fluer: > Hallo Liste, > > wie realisiere ich Zielseite bei eigener Extension? > Ich habe eine eigene Extension die ein spezielles Formular verarbeitet. > Nun möchte ich nach erfolgreichem verarbeiten an eine spezielle Seite (habe > ich per Flexform angegeben) weiterleiten. > > Meine Frage lautet nun: Wie mache ich das richtig? > > Mein funktionierender Ansatz zur Zeit (gekürzt ![]() > /** > * Hauptfunktion des Plugin. > * Auswertungen von Variablen und Start aller Berechnungen > * > * @param string $content: PlugIn Inhalt > * @param array $conf: PlugIn Konfiguration > * @return Inhalt der auf der Webseite angezeigt wird > */ > function main($content,$conf) { > > $content = $this->doschadensmeldung($this->conf['zielPID']); > > return $this->pi_wrapInBaseClass($content); > > // Ende function main > } > > /** > * SCHADENSMELDUNG VERARBEITEN. > * Das Eingabeformular verarbeiten. > * Eintragen der Formularfelder in die DB > * > * @param string $this->zielPID: PID der Zielseite > * @return Ausgabe einer Danke-Seite > */ > function doschadensmeldung($this->zielPID) { > > $this->formid = $this->generate_schadensmeldung(); > $this->orderSubmition($this->formid); > header('Location: > '.t3lib_div::locationHeaderUrl($this->pi_getPageLink($this->zielPID))); > > return; > > // Ende function doschadensmeldung > } > > Nun kommt mir das aber wie ein Koitus Interuptus vor. > Gibt es da eine sauberere/schönere Lösung? Oder ist das so gedacht? > > Danke für eure Hilfe und Vorschläge. > Schönen Abend > Martin _______________________________________________ TYPO3-german mailing list TYPO3-german (AT) lists (DOT) netfielders.de http://lists.netfielders.de/cgi-bin/...o/typo3-german |
|
#3
|
|||
|
|||
|
Hallo Michael,
Ich dachte eventuell daran von der funktion doschadensmeldung() zur main() "zurückzukehren" und dort die weiterleitung machen. dann würde ich mich nicht ganz so "unbefriedigt" fühlen ;-) aber der eine Schritt ist ja ziemlich umsonst. Also lass ich es halt wie es ist und freu mich das es funktioniert. Ich kann mich ja anderweitig be.... - Aber das ist eine andere Geschichte! Danke. Martin -----Ursprüngliche Nachricht----- Von: typo3-german-bounces (AT) lists (DOT) netfielders.de [mailto:typo3-german-bounces (AT) lists (DOT) netfielders.de] Im Auftrag von Michael Stein Gesendet: Mittwoch, 26. September 2007 10:50 An: typo3-german (AT) lists (DOT) netfielders.de Betreff: Re: [TYPO3-german] "Koitus Interuptus" in eigener Extension. Naja, willst du nun weiterleiten oder nicht? Ich denke nicht, dass es viele andere Möglichkeiten gibt einen HTML-request umzubiegen. Du kannst natürlich auch ein Javascript in den Header zaubern das eine neue Seite liest. Aber das funzt nicht wenn der Besucher Javascript ausgeschaltet hat. Aber du hast recht. Es fühlt sich komisch an. Gruß Michael Am Tue, 25 Sep 2007 19:32:03 +0200 schrieb Martin Fluer: > Hallo Liste, > > wie realisiere ich Zielseite bei eigener Extension? > Ich habe eine eigene Extension die ein spezielles Formular verarbeitet. > Nun möchte ich nach erfolgreichem verarbeiten an eine spezielle Seite > (habe ich per Flexform angegeben) weiterleiten. > > Meine Frage lautet nun: Wie mache ich das richtig? > > Mein funktionierender Ansatz zur Zeit (gekürzt ![]() > /** > * Hauptfunktion des Plugin. > * Auswertungen von Variablen und Start aller Berechnungen > * > * @param string $content: PlugIn Inhalt > * @param array $conf: PlugIn Konfiguration > * @return Inhalt der auf der Webseite angezeigt wird > */ > function main($content,$conf) { > > $content = $this->doschadensmeldung($this->conf['zielPID']); > > return $this->pi_wrapInBaseClass($content); > > // Ende function main > } > > /** > * SCHADENSMELDUNG VERARBEITEN. > * Das Eingabeformular verarbeiten. > * Eintragen der Formularfelder in die DB > * > * @param string $this->zielPID: PID der Zielseite > * @return Ausgabe einer Danke-Seite > */ > function doschadensmeldung($this->zielPID) { > > $this->formid = $this->generate_schadensmeldung(); > $this->orderSubmition($this->formid); > header('Location: > '.t3lib_div::locationHeaderUrl($this->pi_getPageLink($this->zielPID))) > ; > > return; > > // Ende function doschadensmeldung > } > > Nun kommt mir das aber wie ein Koitus Interuptus vor. > Gibt es da eine sauberere/schönere Lösung? Oder ist das so gedacht? > > Danke für eure Hilfe und Vorschläge. > Schönen Abend > Martin _______________________________________________ TYPO3-german mailing list TYPO3-german (AT) lists (DOT) netfielders.de http://lists.netfielders.de/cgi-bin/...o/typo3-german _______________________________________________ TYPO3-german mailing list TYPO3-german (AT) lists (DOT) netfielders.de http://lists.netfielders.de/cgi-bin/...o/typo3-german |
|
#4
|
|||
|
|||
|
-----BEGIN PGP SIGNED MESSAGE-----
Hash: SHA1 Hallo Martin, > Ich dachte eventuell daran von der funktion doschadensmeldung() zur main() > "zurückzukehren" und dort die weiterleitung machen. > dann würde ich mich nicht ganz so "unbefriedigt" fühlen ;-) aber der eine > Schritt ist ja ziemlich umsonst. Also lass ich es halt wie es ist und freu > mich das es funktioniert. das ist so schon ok, wie du es machst. Du setzt ja da nur den Header, der erst später, wenn die Auslieferung der Seite begonnen wird (mit dem ersten echo, wenn kein Output buffering eingeschaltet ist), an den Browser geschickt wird. Wenn Output buffering aktiviert ist oder, wie bei TYPO3, der Content von einer zentralen Funktion ausgegeben wird, darf das Skript also fertig laufen, es wird in deinem Fall also auch der Rest von main() abgearbeitet. So unsauber, wie es scheint, ist das also nicht ![]() Selbst wenn es nicht so sein sollte, sondern der Redirect irgendwo mitten im Skript gesendet wird, sollte das nicht viel machen. Ich weiß es nicht genau, aber ich denke, es gibt noch irgendeinen Aufräumer, der nicht mehr benutzte Ressourcen freigibt etc., wenn nicht sowieso das ganze Skript noch zu Ende läuft. Das müsste man vielleicht mal testen, wäre ganz interessant. Grüße Andreas -----BEGIN PGP SIGNATURE----- Version: GnuPG v1.4.6 (GNU/Linux) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iD8DBQFG+qdVHWtXp155bP8RAuCzAJwMrcIWDjrLdg9nuaQVZV RjSDY1BwCZAdBV Nx/fClYlJI3GU3uiDT/w0BE= =i/PR -----END PGP SIGNATURE----- _______________________________________________ TYPO3-german mailing list TYPO3-german (AT) lists (DOT) netfielders.de http://lists.netfielders.de/cgi-bin/...o/typo3-german |
| Lesezeichen |
| Themen-Optionen | |
| Ansicht | Thema bewerten |
|
|
|
||||
| Thema | Autor | Forum | Antworten | Letzter Beitrag |
| [TYPO3-german] mailformplus 4.0 - Mehrsprachigkeit - <input type... name="L" value ="value_L"> | Felix Griesser | typo3-german@lists.netfielders.de | 2 | 04.06.2007 17:26 |
| [TYPO3-german] rev="external" anstatt target="_blank" | Daniel Selinger | typo3-german@lists.netfielders.de | 0 | 20.04.2007 15:24 |
| [TYPO3-german] Sicherheitsfrage: login mit "key logger" oder"trojan horse" | Achim Gerber JHF IT | typo3-german@lists.netfielders.de | 16 | 26.03.2007 09:08 |
| Re: [TYPO3-german] Sicherheitsfrage: login mit "key logger"oder"trojan horse" | Achim Gerber JHF IT | typo3-german@lists.netfielders.de | 3 | 23.03.2007 16:37 |
| [TYPO3-german] Keywordsmenu: Verknüpfung mit "und" statt "oder" | Carsten Wegner | typo3-german@lists.netfielders.de | 0 | 29.01.2007 16:19 |