Artikel Export: images werden unvollständig ausgegeben

Hallo zusammen! Ich habe soeben folgenden Fehler im Export festgestellt: Der Export unter Import/Export > Daten: Artikel > Format: Excel gibt leider die Bilder unter images unvollständig aus, so dass diese von mir nicht weiterverarbeitet werden können. Es macht auch keinen Unterscheid, wenn ich als Ausgabe eine csv-Datei wähle. Bei folgendem Beispiel sind im Shop 6 Bilder angelegt. Der Export als xls-Datei gibt jedoch nur 4,5 Bilder aus. Das 5. Bild ist abgeschnitten. Das 6. Bild fehlt: [quote]http://domain.tld/media/image/caff9961c2100f5e3146f9103fd605e2.jpg|http://domain.tld/media/image/11_97a65a6dec2273b8602d00bab469215a.jpg|http://domain.tld/media/image/11_8cbfaa774e83d1f491e800b6e706cba4.jpg|http://domain.tld/media/image/11_a26b2c287b6fa8f00a53100843ed29fc.jpg|http://domain.tld/media/image/11_f5a5be[/quote] Es liegt auch nicht an der Anzahl der Bilder. Ich habe auch Artikel im Shop, bei denen nur 2 Artikelbilder hinterlegt sind, bei denen der Fehler beim 2. Bild auch auftritt. Dieses Phänomen tritt auch nicht bei allen Artikeln auf. Nur bei ca. jedem 10… Kann das jemand von euch nachvollziehen? Ich nutze aktuell SW 4.0.7 EDIT: Auch nach Update auf 4.0.8 das gleiche traurige Ergebnis… EDIT2: Keine Verbesserung nach Update auf 4.1.0 :oops:

Bei euch funktioniert der Export fehlerfrei?

Es gibt eine neue Erkenntnis… So wie ich das aktuell sehe, werden beim Export in der Spalte images die Zeichen bei 341 gekürzt. Nun dachte ich: Ok, dann gibt es evtl. ein truncate in engine/Shopware/Controllers/Backend/ImportExport.php Hmm… leider nicht. Aber irgendwo muss doch das Limit auf 341 Zeichen gesetzt sein. Jemand eine Idee? :frowning:

Ich habe einen Workaround für mich gebastelt, den ich euch nicht vorenthalten will. Ich gehe jetzt den Umweg über die Produktexporte… Vorerst schonmal ein Danke an Pascal aus diesem Beitrag. Wie von Pascal beschrieben, habe ich eine neue Datei mit dem Namen function.product_images.php im Verzeichnis engine/Library/Enlight/Template/Plugins/ angelegt und mit folgendem Code gefüllt: <?php function smarty_function_product_images($params, $smarty, $template) { $articleID = Shopware()->Db()-\>fetchOne("SELECT articleID FROM s\_articles\_details WHERE ordernumber=?",array($params['ordernumber'])); $arrImages = array(); $arrImages = Shopware()-\>Db()-\>fetchAll("SELECT img, extension FROM s\_articles\_img WHERE articleID=? ORDER BY id ASC",array($articleID)); $strReturnValue = ""; foreach($arrImages as $arrImage) { if ($arrImages[0] != $arrImage) { $strReturnValue .= $params['seperator']; } $strReturnValue .= $params['prefix'].$arrImage['img'].'.'.$arrImage['extension']; } return $strReturnValue; } Nun habe ich einen neuen Produktexport unter Marketing > Produktexporte angelegt: Kopfzeile:{strip} ordernumber{#S#} images{#S#} {/strip}{#L#} Template:{strip} {$sArticle.ordernumber|escape|trim}{#S#} {product\_images prefix='http://domain.tld/media/image/' seperator=';' ordernumber=$sArticle.ordernumber}{#S#} {/strip}{#L#} Bitte beachten: http://domain.tld/media/image/ ist der Pfad zu den Bildern in Originalgröße! Die Ausgabe ist in dem Fall wie folgt: ordernumber;images; "Art-Nr";http://domain.tld/media/image/Bild1.jpg;http://domain.tld/media/image/Bild2.jpg;http://domain.tld/media/image/Bild3.jpg;http://domain.tld/media/image/Bild4.jpg;http://domain.tld/media/image/Bild5.jpg;http://domain.tld/media/image/Bild6.jpg;

Hallo Chritian, vielen Dank für Deinen Workaround, welcher prinzipiell auch funktioniert. Leider habe ich das Problem, dass einige Produktbilder von Artikeln in der „falschen“ Reihenfolge ausgegeben werden. Wenn ich den normalen Export benutze (bei dem die Spalte Artikelbilder gekürzt wird), dann stehen die Produktbilder dort in der Reihenfolge, wie im Frontend zu sehen. In der Datenbank ist diese Reihenfolge aber nicht immer identisch. Es kann zB. sein, dass Bild2.jpg vor Bild1.jpg in der Datenbanktabelle s_articles_img steht. Und in eben dieser Reihenfolge erfolgt auch die Ausgabe: http://sample.de/media/image/Bild2.jpg|http://sample.de/media/image/Bild1.jpg Die Rehenfolge der Bilder wird durch die Spalte „main“ in der Tabelle s_articles_img bestimmt. Die nachfolgende Zeile habe ich um „main“ erweitert. $arrImages = Shopware()-\>Db()-\>fetchAll("SELECT img, extension, main FROM s\_articles\_img WHERE articleID=? ORDER BY id ASC",array($articleID)); Wie bekomme ich nun aber das Array so sortiert ausgegeben, dass es nach „main“ aufsteigend sortiert wird? Kannst Du mir hier weiterhelfen? Natürlich sind auch alle anderen herzlich eingeladen. :slight_smile: Viele Grüße, Tom

Hallo Tom, leider kann ich dir da nicht weiterhelfen. Aber vielleicht jemand anderes? Das mit den Artikelbildern in falscher Reiehenfolge ist mir auch aufgefallen. Hatte damals alles aufwändig nachgepflegt. :frowning:

Hallo Christian, ich hatte zwischenzeitlich in meinem Lieblingsbaord nachgefragt (und die Lösung erhalten). Ist echt simpel… aber erst einmal drauf kommen. :wink: SELECT img, extension FROM s\_articles\_img WHERE articleID=? ORDER BY id ASC in fetchAll durch SELECT img, extension FROM s\_articles\_img WHERE articleID=? ORDER BY main ASC Das Ergebnis schaut so aus, wie ich es wollte. Gruß, Tom

Hallo, hat keiner eine Idee wie man die Bilder Pfade vollständig anzeigen kann? Oder wäre das zu aufwändig?

Vielleicht interssiert es noch jemanden. Es liegt an SQL. Um die Bildpfade länger als 340 Zeichen auszugeben muss der SQL Parameter “group_concat_max_len” erhöht werden. Der Standard ist 1024…