Hallo, ich habe nun Google und Shopware Wiki durchsucht um an eine Lösung oder an einen Lösungsweg zu gelangen um über mein Plugin auch neue Ordner im Mediamanager zu erstellen, doch leider konnte ich nichts finden, was mir helfen konnte. Um dies genauer auszuführen: Ich würde gerne bei Installation meines Plugins einen Ordner im MediaManager erstellen. Zusätzlich dazu würde ich dann auch die Thumbnail Größen festlegen. Wenn es hierfür keine Lösung per Shopware gibt, werde ich dies wohl mit SQL lösen müssen. Leider habe ich auch keine Information darüber gefunden, wie ich dann die Thumbnail URL ausgeben kann. Muss ich hierzu bei meinem Model anstatt den Bildpfad zu speichern eine Assoziation zum Mediamanager einfügen oder wie funktioniert dies? Vielen Dank für eure Hilfe im voraus Grüße, Andreas
Ich hab es nun so gelöst, dass ich das Album und die Settings per SQL anlege: $sql = 'INSERT INTO s\_media\_album(name, position) SELECT ?, MAX(position) + 1 FROM s\_media\_album;'; Shopware()-\>Db()-\>query($sql, array($albumName)); $albumId = Shopware()-\>Db()-\>lastInsertId(); $sql = 'INSERT INTO s\_media\_album\_settings(albumID, create\_thumbnails, thumbnail\_size) VALUES(?, 1, "90x90;250x250;330x330;660x660")'; Shopware()-\>Db()-\>query($sql, array($albumId));
Wenn ich nun meine Daten für das Frontend benötige, habe ich bereits eine Funktion zum bereitstellen meiner Daten geschrieben und diese erweitert, damit die Bildpfade der Thumbnails hinzugefügt werden: private function getImagePaths($imagepath) { $imageData = Shopware()-\>Db()-\>select()-\>from('s\_media', array('name', 'extension')) -\>joinInner('s\_media\_album\_settings', 's\_media.albumID = s\_media\_album\_settings.albumID', array('thumbnail\_size')) -\>where('s\_media.path = ?', $imagepath) -\>query()-\>fetch(); $thumbnailSizes = explode(';', $imageData['thumbnail\_size']); foreach($thumbnailSizes as $thumbnailSize) { $thumbnailPath = 'media/image/thumbnail/'.$imageData['name'].'\_'.$thumbnailSize.'.'.$imageData['extension']; if(is\_file($thumbnailPath)) { $imagePaths[] = 'media/image/thumbnail/'.$imageData['name'].'\_'.$thumbnailSize.'.'.$imageData['extension']; } } return $imagePaths; }