Hallo,
ich entwickle gerade meine erste Extension mit Extbase und Fluid. Wie so oft, ist es ein bisschen komplexer und somit helfen mir Hilfen im Internet nicht weiter.
Der Aufbau:
Die Extension soll die Daten nicht in den T3-Tabellen speichern. Sie erhält alle benötigten Objecte (Daten) aus einem Service. Die Daten werden angezeigt, ggf bearbeitet und wieder an den Service zurück geschickt.
Nun ist meine Frage, wo hole ich die Daten aus dem Service ab, wo geschieht das Mapping und wo schiebe ich die Daten wieder in den Service. Eigentlich sollte das im Repository geschehen, aber wie und wann wird gemappt?
Ich hoffe mir kann jemand weiterhelfen... o.O
Viele Grüße
Kerinio
Eingangsvariablen auf Objekte zu mappen, ist der Job des PropertyMapper.
Dazu musst Du als erstes in der gewünschten Klasse den Tx_Extbase_Property_PropertyMapper injecten.
Dem Mapper mußt Du die Daten übergeben, als ob sie z.B. von einem Form-Submit kommen, also als Array mit den korrekten Keys. Und dann machst Du einfach folgendes:
$model = $this->propertyMapper->convert($dataArray, 'Tx_MyExt_Domain_Model_Foo');
Das sollte eigentlich reichen.
Edit: http://flow.typo3.org/documentation/guide/partiii/propertymapping.html (Flow Doku, sollte aber für Extbase ähnlich bzw. gleich sein)
Suuper, vielen Dank. Genau danach hab ich gesucht!
Wo sollte das Mapping denn am sinnvollsten stattfinden?
Ich würds ja in den Controller packen... aber ob das der richtige Ort ist?!?