Hallo zusammen, ich habe ein Banner Slider Plugin, welches basierend auf dem normalen emotion banner_slider ist. Nach dem update auf Shopware 5 ist mir aufgefallen, dass der normale banner slider im media objekt zugriff auf die ganzen generierten thumbnails und retina bilder hat. Das hätte ich bei mir auch ganz gern, aber als ich mir die emotion komponente angeschaut habe, sind mir keine nennenswerte unterschiede zu meinem augefallen. Jemand eine idee, wie ich zugriff auf die thumbnails bekommen kann?
push Ich hänge gerade an dem selben Problem das in meiner Source nur der originale Bild-Pfad zu finden ist. Durch debug habe ich festgestellt das der originale Slider ein Array mit den Thumbnails hat. Wie greife ich diese auch für mein Slider ab ? LG
In der *.tpl den Image Tag mit dem gewünschten aus dem Debug ersetzen.
Das versteh ich nicht ganz. Meine Variable besitzt nur die Standarddaten von dem MediaSelection Field. Sprich Position, path, link,altText,title und mediaId. Jedoch besitzt der Standard-BannerSlider noch ein Array von Thumbnails von jedem jeweiligen Bild. Bei mir zum Beispiel fehlt das Array Value wie bei dem Banner Slider, in diesem Array stehen alle Thumbnails usw. Es wird aber in den Banner-Slider Dateien nirgends erwähnt wie sie die Thumbnails abgreifen das passiert irgendwo noch weiter im Hintergrund oder irre ich mich ? Man muss doch irgendwie die Thumbsnails der Bilder abgreifen können
Hab eine Lösung gefunden, vielleicht etwas dreckig aber in der Manager.php für die Thumbnails gibt es eine Methode “getMediaThumbnails” diese habe ich in meinem Plugin mit aufgenommen und füge dem Array nach dem hinzufügen der Banner im Backend zu jedem Bild seine Thumbnails hinzu. //EDIT Habe etwas besseres gefunden mit $mediaIds = array\_column($data['files'], 'mediaId'); $context = $this-\>get('shopware\_storefront.context\_service')-\>getShopContext(); $media = $this-\>get('shopware\_storefront.media\_service')-\>getList($mediaIds, $context);
kriegt ihr die Thumbnails und mit $single = $media[$file['mediaId']]; $single = $this-\>get('legacy\_struct\_converter')-\>convertMediaStruct($single); $file = array\_merge($file, $single);
in einer Foreach fügt ihr sie zu eurer Data hinzu