Zum Inhalt springen

Zusätzliche Parameter an Controller übergeben

Erstellt am 9. Februar 2017 · 1 Antwort · letzte Antwort am 17. Mai 2017

Tags: Fluid, Frage

Drusilla ·

Hallo,
ich habe grade ein Problem mit der Parameter-Übergabe von Fluid an den Controller: Ich habe ein Objekt, das ich übergeben und validieren möchte (was funktioniert), zusätzlich soll aber auch noch ein zusätzliches Eingabefeld, das nichts mit dem Model zu tun hat an den Controller übergeben werden und natürlich auch validiert werden.

Im Moment sieht das ungefähr so aus:

Fluid:

<f:form action="create"  name="newAngebot" object="{newAngebot}">
    <f:form.textfield name="extraval" />
    <f:form.textfield property="val1" />
    <f:form.textfield property="val2" />
    ...
</form>

Controller:

	/**
	 * action create
	 *
	 * @param \Bla\Blupp\Domain\Model\Angebot $newAngebot
	 * @param String $extraval
	 * @return void
	 */
	public function createAction(\Bla\Blupp\Domain\Model\Angebot $newAngebot, $extraval) {
        ...
        }

Im Moment bekomme ich hier die Fehlermeldung 'Missing argument 2 for Bla\Blupp\Controller\AngebotController::createAction()'. Offensichtlich wird der Parameter nicht an den Controller übergeben.
Mir ist schon klar, dass ich auch mit $this->request->getArgument('extraval') auf das zusätzliche Feld zugreifen kann, allerdings hätte ich gerne die Validatoren von Extbase dafür verwendet, und das ganze validiert, bevor die Action ausgeführt wird.

Wie müsste das Fluid-Template jetzt aussehen, dass der zweite Parameter auch übergeben wird?
Oder gibt es noch einen anderen Weg?

Danke schon mal!

Achja: Typo3 6.2

aemka ·

Probier <f:form.textfield name="tx_deineextension_deinplugin[extraval]" /> mal oder was rendert fluid für dieses Feld im Frontend? Müsste hier nötig sein, da das kein Property deines Models ist.