Hallo zusammen, ich bin gerade dabei ein Plugin zu schreiben, das bei allen Varianten die Bilder des Hauptartikels anzeigt. Die variantenspezifischen Bilder sollen nicht angezeigt werden. Dazu habe ich den Hook sArticles::sGetArticleById::after verwendet Zum Laden der Bilddaten verwende ich nun die folgende Funktion: public function afterGetArticleById(Enlight\_Hook\_HookArgs $arguments) { $articleId = $arguments-\>getId(); /\*\* @var $articleCoreClass sArticles \*/ $articleCoreClass = $arguments-\>getSubject(); $sArticle = $arguments-\>getReturn(); // get main ordernumber $mainOrdernumber = $this-\>getMainOrderNumber($articleId); // load album /\*\*@var $articleAlbum \Shopware\Models\Media\Album\*/ $articleAlbum = Shopware()-\>Models()-\>getRepository('Shopware\Models\Media\Media') -\>getAlbumWithSettingsQuery(-1) -\>getOneOrNullResult(); // load main image $sArticle['image'] = $articleCoreClass-\>getArticleMainCover($articleId, $articleAlbum); // load additional images $sArticle['images'] = $articleCoreClass-\>sGetArticlePictures($articleId, false, 0, $this-\>getMainOrderNumber($articleId)); $arguments-\>setReturn($sArticle); }
Dies funktioniert soweit auch. Anscheinend wird getDataOfArticleImage() in sArticles.php nicht durchlaufen, da die Daten nicht fürs Frontend aufbereitet sind. $sArticle[‘image’] enthält: Array ( [src] =\> Array ( [original] =\> http://sw5.blub.com/media/image/SW10166.jpg [0] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_200x200.jpg [1] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_600x600.jpg [2] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1280x1280.jpg ) [res] =\> Array ( [original] =\> Array ( [width] =\> 0 [height] =\> 0 ) [description] =\> ) [position] =\> 1 [extension] =\> jpg [main] =\> 1 [id] =\> 825 [parentId] =\> [attribute] =\> Array ( ) [srchd] =\> Array ( [0] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_200x200@2x.jpg [1] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_600x600@2x.jpg [2] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1280x1280@2x.jpg ) )
$sArticle[‘images’] enthält: Array ( [0] =\> Array ( [src] =\> Array ( [original] =\> http://sw5.blub.com/media/image/SW10166\_1.jpg [0] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1\_200x200.jpg [1] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1\_600x600.jpg [2] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1\_1280x1280.jpg ) [res] =\> Array ( [original] =\> Array ( [width] =\> 0 [height] =\> 0 ) [description] =\> ) [position] =\> 2 [extension] =\> jpg [main] =\> 2 [id] =\> 826 [parentId] =\> [attribute] =\> Array ( ) [srchd] =\> Array ( [0] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1\_200x200@2x.jpg [1] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1\_600x600@2x.jpg [2] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_1\_1280x1280@2x.jpg ) ) [1] =\> Array ( [src] =\> Array ( [original] =\> http://sw5.blub.com/media/image/SW10166\_2.jpg [0] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_2\_200x200.jpg [1] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_2\_600x600.jpg [2] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_2\_1280x1280.jpg ) [res] =\> Array ( [original] =\> Array ( [width] =\> 0 [height] =\> 0 ) [description] =\> ) [position] =\> 3 [extension] =\> jpg [main] =\> 2 [id] =\> 827 [parentId] =\> [attribute] =\> Array ( ) [srchd] =\> Array ( [0] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_2\_200x200@2x.jpg [1] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_2\_600x600@2x.jpg [2] =\> http://sw5.blub.com/media/image/thumbnail/SW10166\_2\_1280x1280@2x.jpg ) ) )
Habe ich evtl. einen Fehler im Code oder muss ich die Umwandlung, die normalerweise durch getDataOfArticleImage() geschieht, selbständig im Plugin machen? Grüße Sebastian