Hallo, durch die Beschreibung hier wird gezeigt, wie man aktuell EW-Elemente entwickeln kann. Am ende hat man jedoch an das Template nur die Eingaben in Form von $Data weitergegeben. Eine Lösung, wie man dort einen Controller zuschaltet, damit man beispielsweise Artikel, Kategorien und sonstige Daten anzeigen kann, die nicht statisch sind, fehlt uns leider noch… Wie kann man für eigene Elemente Controller zu schalten, die dann arbeiten, wenn die Widgets im Frontend geladen werden? Wäre für jede Hilfe dankbar. MfG
Also ich habe das wie folgt gelöst - und es ist sehr hässlich! Ich hoffe es gibt noch einen besseren Weg. Alle Ordner liegen unter /engine/Shopware/Plugins/Local/Frontend/MeinWidget/: Controllers/Widgets/MeinWidgetWidget.php Views/emotion_components/widgets/emotion/components/mein_widget.tpl Views/widgets/mein_widget/index.tpl „MeinWidgetWidget.php“ hat eine indexAction, in der man z.B. Datenbankanfragen machen und die View mit Daten befüllen kann. class Shopware\_Controllers\_Widgets\_MeinWidgetWidget {}
Im Bootstrap des Plugins wird der Controller mit $this-\>registerController('Widgets', 'MeinWidget');
registriert. „mein_widget.tpl“ beinhaltet nur folgendes: {action module=widgets controller=MeinWidgetController action=index Data=$Data}
In „index.tpl“ ist das eigentliche Template deines Widgets; hier erfolgt die Ausgabe der Daten und Inhalte. Viele Grüße Markus