Zum Inhalt springen

Eine Extension zwei mal auf einer Seite verwenden

Erstellt am 9. März 2017 · 2 Antworten · letzte Antwort am 23. März 2017

Tags: Extbase, TYPO3 7, Frage

intensivstation ·

Was mich schon immer interessiert hat:
wenn ich eine Extension an zwei Stellen auf einer Seite verwende und einmal ein new-Formular habe und es absende, dann wird an beiden Stellen, wo die Extension eingesetzt ist, die create-action ausgeführt.
Wie kann man das verhindern?
Es muss doch eine Möglichkeit geben, dass ein Plugin die POST-action ignoriert, oder?
Es geht also darum, dass ein Formular nicht an allen Stellen ausgewertet werden soll.
Also: ein Plugin soll das anzeigen, was es bisher angezeigt hat (z.B. list)
und nur das andere soll statt new nun create anzeigen.
Wie kriegt man das hin?

pstranghoener ·

Generell kannst du soviele Plugins auf einer Seite einbinden wie du willst.
Das kannst du bequem mit dem Extension builder einrichten. Im Backend bindest du das Plugin ein und wählst dann einfach die gewünschte "View" aus. Also Plugin XY - List Form bzw. Plugin XY Show/Create Form.

https://docs.typo3.org/typo3cms/ExtbaseGuide/Extbase/FirstExtbaseExtension.html

Ich kann dir dazu auch das Buch von Patrick Lobacher empfehlen:

https://www.amazon.de/TYPO3-Extbase-Moderne-Extensionentwicklung-Fluid/dp/1530001870/ref=sr_1_1?ie=UTF8&qid=1490005134&sr=8-1&keywords=patrick+lobacher

Chrissli ·

Eigentlich ist das etwas das die Extension selbst handlen muss.
D.h. wenn die Extension dafür ausgelegt ist, dass sie mehrfach auf einer Seite verwendet wird, dann sollte sie natürlich einen Identifier in den POST-Informationen mitgeben, z.b. die ID des content-elements oder die jeweilige Datensatz-ID in der Extensiontabelle o.ä.