Hallo, ich bin gerade dabei mein erstes Plugin für Shopware zu erstellen. Hatte vorher noch nie etwas mit Shopware zu tun. Ich möchte im Frontend mehrere Comboboxen als Zusatzfilter für die Artikel anzeigen und mit Werten aus der DB (genauer Artikelattribute) füllen. Derzeit bin ich soweit, dass der Filter nur in den dafür vorgesehenen Kategorien angezeigt wird. Die Abfrage zum Füllen der ersten Combobox habe ich auch schon fertig und syntaktisch ist wohl auch alles korrekt. Das Plugin läuft bis hierhin. Mein Problem ist jetzt, wie ich nun vom Code heraus die Combobox füllen kann. Dazu habe ich bisher kein Beispiel gefunden. Hab auch schon im Forum gesucht. Hier mal mein Code: public static function onPostDispatch(Enlight\_Event\_EventArgs $args) { //Der standard Pre/Post Dispatcher wird bei jedem Request aufgerufen (Frontend/Backend) $request = $args-\>getSubject()-\>Request(); $response = $args-\>getSubject()-\>Response(); $view = $args-\>getSubject()-\>View(); if(!$request-\>isDispatched() || $response-\>isException() || $request-\>getModuleName() != 'frontend' || ($request-\>getModuleName() == 'frontend' && $request-\>getControllerName() == 'index' ) ) { return; } $getMarken = Enlight\_Class::Instance(\_\_CLASS\_\_)-\>loadMarkenFromDatabase($sCategory); if (!empty($getMarken)){ // } $view-\>extendsTemplate(dirname(\_\_FILE\_\_).'/plugin.tpl'); } public function loadMarkenFromDatabase($categorie){ // Marken aus Datenbank auslesen $data = Shopware()-\>Db()-\>fetchAll(" SELECT distinct att.attr1 AS Marke FROM s\_articles art join s\_articles\_attributes att on art.ID = att.articleID join s\_articles\_categories cat on art.ID = cat.articleID WHERE cat.categoryID = ? ",array($categorie)); foreach ($data as $row){ $snippets[$row["Marke"]] = $row; } return $snippets; }
So, wie bekomme ich nun den wert aus der Abfrage (Spalte Marke) ins Frontend? [code]{block name=„frontend_index_content“ prepend} {if $sCategoryContent.ac_attr6 == 1}
Bin für jeden Tipp dankbar.
Gruß sturzi
Marke: |