Um mit einer CSV Dateien Bilder in einen Shopware 5 Shop zu importieren, muss man einige Dinge beachten. Welche das sind, werden wir im Folgenden erklären.
- 1. Ausgangslage
- 2. Aufbau der vorhandenen CSV Datei
- 3. Anpassung der SQL in phpmyadmin
- 4. Aufbau der angepassten CSV Datei
- 5. Bearbeitung der Beispiel-Datei
- 6. Einstellung im Backend
- 7. Weiterführende Links
1. Ausgangslage
In diesem Beispiel ist unsere Ausgangslage ein Shop, dessen Artikel vorerst nur über ein Bild verfügen. Die Aufgabe ist es nun die zusätzlichen Bilder mittel einer CSV Datei zu importieren.
In der CSV Datei sind zudem noch Links zu Bildern, deren Artikel im Shop noch nicht eingebunden sind, das heiß diese müssen beim Import möglichst ignoriert werden.
2. Aufbau der vorhandenen CSV Datei
Bei dem ersten Projekt haben wir eine CSV Datei für Artikelbilder erhalten, die aus Shopware 6 exportiert wurde und nun in Shopware 5 importiert werden sollte. Der Hersteller verwendet Shopware 6, der Händler, dessen Shop wir bearbeiten, hingegen Shopware 5.
Die CSV Datei beinhaltet 6 Variablen, die in der ersten Zeile der Datei definiert werden:
„Product“;“Parent“;“Nr“;“Typ“;“AltText“;“Url“;“ID“
Jedes Bild ist in einer Zeile definiert:
„4394099“;“0″;“1″;“0″;““;“https://www.prime-tech.de/itempics/tents/dach/standard/bild2.jpg“;“336971062″
Bei der Durchsicht der Artikel im Shop konnte festgestellt werden, dass der Wert für suppliernumber im Shop identisch ist mit dem Wert der ersten Variable in der CSV Datei, also Product.
Die ordernumber, die wir aber eigentlich bräuchten wurde stattdessen beim ersten Import vom System vergeben und hat nichts mit mehr der eigentlichen ordernumber (die vom hersteller kommt) zu tun, was die Sache ein wenig erschwert.
3. Anpassung der SQL Datei in phpmyadmin
Man sollte in so einem Fall, wenn nichts Gravierendes (wie z.B. eine Listung der Artikel auf Marktplätzen wie Ebay oder Amazon) dagegen spricht zunächst einmal die aktuelle ordernumber gegen den Inhalt der suppliernumber austauschen oder besser gesagt den Inhalt der ordernumber auf den Inhalt der suppliernumber angleichen.
Das habe ich händisch in der Datenbank gemacht, was nicht die beste Lösung ist, aber bei unter 200 Artikeln noch zumutbar war.
4. Aufbau der CSV Vorlage für minimalen Bild Import/Export
In den Shopware Docs finde wir im Bereich Minimaler Import den Link zu einer beispielhaften CSV Datei, wie wir sie für den Import unserer Bild-Dateien verwenden können: https://docs.shopware.com/de/shopware-5-de/import-export/import-export-artikelbilder
Es gibt hier als erst einmal nur 3 Spalten:
– ordernumber: Die Bestellnummer des Artikels. Das ist der Schlüssel, mit dem die Bilder dem richtigen Artikel zugeordnet werden.
– image: Von dieser URL aus wird das Bild in den Shopware 5 Shop importiert
– main: main heißt auf Englisch Haupt (-Bild) und definiert, ob das Bild als Vorschaubild in den Kategorie-Listen und in Slidern etc. verwendet werden soll. 1 steht für ja und 2 für nein. Wenn ein Artikel mehrere Bilder hat, dann sollte der Wert 1 logischerweise nur einmal gesetzt werden.
Im gleichen Bereich lässt sich auch das Profil für den minimalen Import der Bild-Dateien herunterladen. Im Bereich Profile kann man dieses dann importieren. Anschließend kann man das Profil für den Import im Import Reiter auswählen.
So sieht der Verzeichnisbaum des Profils aus.
Jetzt ist es noch einmal wichtig, sich den Aufbau der Beispiel-Datei im Texteditor, anstatt in Open Office anzusehen.
Hier müssen 2 wichtige Sachen beachtet werden:
Erstens: Alle Einträge müssen mit einem Semikolon getrennt werden.
Zweitens: Vor und nach dem Semikolon dürfen keine Leerzeichen verwendet werden.
5. Bearbeitung der Beispiel-Datei
Wenn wir die Beispiel-Datei bearbeiten, uns unsere Inhalte reinkopieren wollen, dann eignet sich hierfür Open Office am besten. Excel kann zum einen das UTF-8 Format nicht richtig interpretieren und mit LibreOffice habe ich es in erster Instanz nicht hinbekommen, dass die Datei danach im Editor so angezeigt wird wie sie sollte.
So sollten die Einstellungen beim Öffnen der Datei aussehen:
Beim Speichern ist noch darauf zu achten, dass es nicht als .ods Datei, sondern als .csv gespeichert wird.
6. Einstellung im Backend
Eine wichtige Sache noch: Wenn euer Import wegen Fehlern abbricht könnt ihr in den Backend Einstellungen noch einstellen, dass der Import in so einem Fall nicht abbrechen soll. Das macht z.B. Sinn, wenn in der Import Datei auch Artikel sind, die im Shop noch nicht vorhanden sind.
7. Weiterführende Links:
Shopware Docs – Import / Export Artikelbilder:
https://docs.shopware.com/de/shopware-5-de/import-export/import-export-artikelbilder
Shopware Docs – Beispiel CSV-Datei für minimalen Import:
https://sbp-testingmachine.s3.eu-west-1.amazonaws.com/1539181382/ImagesMinimal.csv
Shopware Docs – Beispiel CSV-Datei für Import mit Standard-Profil:
https://s3.eu-central-1.amazonaws.com/wiki-assets.shopware.com/1630489049/Images.csv
Shopware Docs – Import/Export: Grundmodul:
https://docs.shopware.com/de/shopware-5-de/import-export/import-export-grundmodul#konfiguration-des-plugins
Shopware Forum – „Bestellnummer und Bild zwingend erforderlich“ Fehler
https://forum.shopware.com/t/gelost-fehlermeldung-bestellnummer-und-bild-zwingend-erforderlich-bei-http-bilderimport-via-csv/45100/12
Shopware Forum – Bilderupload via CSV
https://forum.shopware.com/t/bilderupload-via-csv/57039
Shopware Forum – Backend Einstellungen für Import bei Fehlern:
https://forum.shopware.com/t/import-von-lagerbestand-erlaubt-nur-gelistete-artikelnummern/52611/5
SQL UPDATE Statement:
https://www.zentut.com/sql-tutorial/sql-update/
Shopware Docs – Artikel (& Kategorien) Import/Export
https://docs.shopware.com/de/shopware-5-de/import-export/import-export-artikel?category=shopware-5-de/import-export
Shopware Plugin Store – Subshop Export-Filter:
https://store.shopware.com/webko16471231599f/subshop-export-filter.html?number=webko16471231599
Shopware Forum – Nur Subshop Kategorien exportieren
https://forum.shopware.com/t/kategorieexport-nur-bestimmte-kategorien-exportieren/46825
Du brauchst Hilfe bei der Umsetzung mit Shopware? Dann setze dich jetzt mit uns in Verbindung.