Hallo! Ich arbeite mich gerade in die Programmierung von Shopware ein und stosse immer wieder auf Verständnisfragen. Ich möchte zum Beispiel die Übergabeparameter der Funktion sGetArticlePictures in sArticles.php modifizieren. In meinem Plugin sieht das dann so aus: private function subscribeEvents() { $this-\>subscribeEvent( 'sArticles::sGetArticlePictures::before', 'beforeGetArticlePictures' ); } public function beforeGetArticlePictures(Enlight\_Hook\_HookArgs $arguments) { $arguments-\>set("sArticleID",34); }
Müssten jetzt nicht immer alle Bilder des Artikels mit der ID 34 angezeigt werden? Bei mir passiert nichts. Vielen Dank schon mal für eure Hilfe. Viele Grüße Max
Hi, die Methoden werden meines Wissens im Standard von SW5 nicht mehr genutzt; der LegacyEventManager, der die Hooks für Kompatiblitätszwecke noch bereit stellt, hat keinen Fallback für den “before” Hook. Stattdessen kannst du den ListProductService dekorieren und da bspw. die Medien-Bilder austauschen. Wenn du dir das Product-Struct ansiehst, findest du auch das “cover” property: \Shopware\Bundle\StoreFrontBundle\Struct\ListProduct::$cover Schöne Grüße, Daniel
Hallo Daniel, danke für deine Antwort. Jedoch steh ich jetzt ein wenig auf dem Schlauch. Gibt es dafür ein gutes Beispiel oder Dokumentation? Das Property finde ich, wie modifiziere ich jetzt jedoch eine Funktion? Für eine Hilfe-Stellung wäre ich sehr dankbar. Danke und VG Max
Hi, die allgemeine Dokumentation zu den Decorator-Geschichten findest du hier: https://developers.shopware.com/develop … le-plugin/ https://developers.shopware.com/develop … xtensions/ Da kannst du dir am besten erstmal einen kleinen Decorator schreiben und dir das Ergebnis mal ausgeben lassen, dann siehst du relativ schnell, wo da was wie aufgehangen ist. Besten Gruß, Daniel
Hi, danke für die Links, den einen hatte ich bereits gefunden und das Plugin installiert. Werde mich da mal rein arbeiten. Hoffe das ich damit klar komme. Danke und VG Max