[b]Vorwort[/b]
Guten Morgen liebe Community,
da dies mein erster eigener Beitrag ist hoffe ich hier in der richtigen Kategorie gelandet zu sein. Ich versuche mein Problem so detailliert wie möglich zu schildern. Sollten dennoch Informationen oder Code-Snippets fehlen werde ich diese schnellstmöglich Nachreichen. Meine Problemstellung habe ich in verschiedenen Variationen bereits in mehreren Quellen gefunden, konnte die Lösungen jedoch nicht adaptieren.
[b]aktuelle Situation[/b]
Ich habe mithilfe des Extension Builders unter Typo3 7.6.4 das Grundgerüst eines Frontend-Plugins erstellt. Ich habe die Model Objects "Customer" (aggregate root) und "Hardware" (und noch einige mehr, die aber für dieses Problem nicht relevant sind). Customer hat eine 1:n Relation zu Hardware. Ein Customer kann mehrere Server, Clients usw. vor Ort haben. Momentan habe ich als default-Aktion meines FE-Plugins die Action "list" des Controllers Customer. Mit einem Click auf einen der Customer wird mir dieser via f.link-Viewhelper in der Action "show" dargestellt. Diese habe ich um ein "assignMultiple" erweitert um mir die Informationen des Hardware-Controllers darzustellen.
(ext/customermanagement/Classes/Controller/CustomerController.php)
public function showAction(\XX\Customermanagement\Domain\Model\Customer $customer) { //$this->view->assign('customer', $customer); 'customer' => $customer, 'hardware' => $customer->getHardware()->toArray(), )); }
Somit habe ich unter der Darstellung des Kunden in meiner "show"-Action die verschiedenen hardwares aufgelistet.
(ext/customermanagement/Resources/Private/Templates/Customer/Show.html)
<f:layout name="Default" /> <f:section name="main"> <f:flashMessages /> <f:render partial="Customer/Properties" arguments="{customer:customer}" /> <tr> </tr> <f:for each="{hardware}" as="hw" iteration="counter"> <f:cycle values="{0: 'even', 1: 'odd'}" as="evenodd"> </f:cycle> </tr> </f:for> </table> <f:link.action action="list">zur Übersicht</f:link.action> </f:section>
[b]Fragestellung[/b]
Ich möchte innerhalb meines Customer-Controllers auf die "edit"-Action des Hardware-Controllers zugreifen. Konkret möchte ich durch den Klick auf einen der Hardware-Einträge (Zeilen 18-23) die Informationen der Hardware editieren können.
Ich habe mir Einträge zu diesem eher trivialen Thema hier im Forum, in der Dokumentation oder auch auf anderen Seiten angeschaut. Entweder bin ich blind oder mir fehlt ein wichtiger Baustein für das Verständnis des DDD (was ich eher befürchte). Ich würde mich freuen wenn mir hier keine fertige Lösung vorgegeben wird, das würde den Lerneffekt nehmen, der mir als Anfänger wichtig wäre. Aber hat von euch jemand bitte einen Hinweis für mich in welche Richtung ich schauen sollte, evtl. ein Stichwort oder dergleichen? :-)
Grüße
eis
Marcel