[TYPO3-german] Extbase/Fluid: Edit-Formular für n:m-Relation im Frontend erstellen

Stefan Padberg post at bergische-webschmiede.de
Fri May 16 14:30:59 CEST 2014


Hallo,

ich komme nicht dahinter und finde auch keine passenden Hinweise im Netz.

Ich habe in meiner Extension 2 Repositories, die in einer n:m-Relation 
zueinander stehen. Im Backend klappt alles wunderbar.

Im Frontend werden die Daten auch korrekt gerendert. Aber das vom 
Extensionbuilder gebaute Edit-Formular umfasst nur die Felder des 
Hauptrepositories, nicht die mit der Relation. Wie muss ich jetzt im 
Frontend ein Eingabefeld für die Relation machen? Und muss ich die 
updateAction erweitern?

Z.B. Termine und Kategorien. Ein Termine hat eine Reihe von 
Eigenschaften, u.a. auch die Kategorien (können mehrere sein). Im 
Extbase-Sprech heißt das Feld "kategories". Also baue ich ein 
select-Feld im Fluid-Formular:

<f:form.select multiple="true" size="20" property="kategories" 
value="termin.kategories" options="{kategories}" 
optionLabelField="bezeichnung" />

Im HTML steht dann:
<select multiple="true" size="20" 
name="tx_meinetermine_termine[termin][kategories][]">
	<option value="5">Kategorie 1</option>
	<option value="6">Kategorie 2</option>
	<option value="3">Kategorie 3</option>
	... usw.
</select>

Damit bekomme ich im select-Feld alle Kategorien korrekt zu sehen, aber 
keine ist selektiert, obwohl welche schon ausgewählt worden sind (im 
Backend). Und abspeichern lassen sich die ausgewählten Kategorien auch 
nicht. Also die Verbindung zum Kategorie-Repository ist offensichtloich 
nicht da.

In der editAction des terminRepository steht u.a.:
	$kategories = $this->kategorieRepository->findAll();
	$this->view->assign('kategories', $kategories);

Damit ziehe ich mir die Kategorien für die select-Optionen.

In der updateAction der terminRepository steht:
	$this->terminRepository->update($termin);

Aber nix passiert.



Weiß jemand wie es geht? Hat jemand einen Link parat, wo steht, wie es 
geht? Ich muss in der Richtung noch mehr machen. Als nächstes sollen 
dann auch noch neue Kategorien im Frontend erstellt werden können. Also 
im Prinzip dieselbe Funktionalität wie im Backend, wo ja immer ein 
plus-Zeichen neben dem Kategorie-Select-Feld ist.

Beste Grüße
Stefan





More information about the TYPO3-german mailing list