Wie gehe ich am schlausten vor, wenn ich möglichst viele Inhalte aus einem Shopware 6.5 Shop in einen anderen Shopware 6.5 Shop importieren möchte? Die meisten dieser Tipps werden höchstwahrscheinlich auch für Shopware 6.6 und 6.7 noch gültig sein. Natürlich gestaltet sich der ganze Prozess je nach Größe bzw. Anzahl der Artikel des Shops und Komplexität im Hinblick auf Eigenschaften und Kategorie-Struktur mehr oder weniger umständlich. Dieser Beitrag kratzt zugegebenermaßen nur die Oberfläche des Themas (Shopware zu Shopware Import) an.

Übersicht:

Anmerkung: Wer sich gerade durchs Netz wühlt und sich zu dem Thema informieren möchte kann den ein oder anderen Tipp mitnehmen. Der Beitrag wurde nicht komplett fertig geschrieben, enthält aber zu viel Informationen um auf der Festplatte zu verstauben. In diesem Sinne: Viel Spaß und Erfolg bei eurem Import von Shopware 6 zu Shopware 6.

1. Backup erstellen

Bevor du mit dem Import beginnst, erstelle Backups von beiden Shopware-Installationen, um sicherzustellen, dass du im Falle von Problemen zu einem vorherigen Zustand zurückkehren kannst. Und das von beiden Shopware 6 Shops.

Zusätzliche Backups nach erfolgreichem Import bestimmter Daten können auch nicht schaden.

2. Grundregeln beachten

Erste Regel: Korrekte Dateinamen verwenden
Schon vor dem Import sollte man sich an die Regel halten, Bild-Dateinamen ohne Leer-, Sonderzeichen und Umlaute zu verwenden, da dies grundsätzlich zu Problemen führen kann.

Wer in seinen CSV Dateien URLs mit Dateinamen die Leerzeichen beinhalten hat, kann die Leerzeichen durch %20 ersetzen. Das gleiche machen Browser, wenn Sie URLs mit Leerzeichen aufrufen. Das kann man z.B. mit einem Programm wie Libre Office erledigen.

Hier markiert man am besten die Spalte url um nur in diesem Bereich zu suchen und zu ersetzen.

Zweite Regel: Test-Funktion nutzen
Man sollte bevor ein Import durchgeführt wird unbedingt vorher die Text-Funktion nutzen. Erst wenn hier kein Fehler mehr angezeigt wird sollte der eigentliche Import erst durchgeführt werden.

3. Bilder importieren

Es kann durchaus sinnvoll sein, mit den Medien-Dateien zu beginnen, besonders wenn diese einen beträchtlichen Teil deiner Daten ausmachen. Das Importieren von Medien-Dateien kann in der Regel komplex sein, und es ist oft ratsam, dies zuerst zu tun, bevor du andere Daten importierst.

Medien-Dateien, wie Produktbilder, können direkt mit Produkten und Kategorien verknüpft sein. Wenn du Medien-Dateien zuerst importierst, hast du bereits die notwendigen IDs oder Referenzen, um diese Verknüpfungen während des Imports von Produkten und Kategorien herzustellen.

Im Standard Profil für Medien werden folgende Felder importiert:

CSV-Name DB-Eintrag
id id
folder_id mediaFolderId
url url
private private
type mediaType
title alt

Um die Bilder zu importieren sind hierfür zwingend notwendig:

id &
url

Dinge die beim Import Probleme bereiten können sind das folder_id Feld, da diese in den Quell- und Zielsystemen nicht identisch sein werden.

Um die Bilder gleich beim Import schon sauber einzusortieren kann man die folder_id Felder in den Import Datei anpassen.

Hierfür fertigen wir als erstes eine Liste aller genutzter Ordner des Quellsystems an, sorgen dafür das gleichnamige Ordner auch im Zielsystem vorhanden sind. Heißt wenn es im Quellsystem einen Ordner gibt, der Slider heißt und muss der auch im Ziel-System angelegt um entsprechen einsortiert werden zu können. Neben die Ordner Namen schrieben wir dann die entsprechenden folder_id. Diese finden wir am einfachsten über die Datenbank in der Tabelle media folder. Hier ist es das erste Feld id. Was wir weglassen können ist das 0x am Anfang jeder id.

Bildimport SW6 Geheimtrick

Bildimport SW6 Geheimtrick

So könnte nun unsere Liste aussehen;

Ordnername:

Ordnername id
Category Media f31c4b43d2784e9da27fa9d117fb6be5
CMS Media 4efa6a6e53c749c7a667d9f6cdb3157d
Imported Media 2743a2e112334f539acf4bf36bbccf72
Mail Template Media afac3adad8074905bcf232374aabd158
Payment Method Media 650081d7193d47f8ba3e60560afbbb00
Product Manufacturer Media 76c7ff1e9dd748f1b9c3e5595f65c54b
Product Media 02a2785d2e724a3f907395fbc51f7632
Shopseiten 76c3606faca74c1582c882d4dc00bc8a
Theme Media 8fc582708dea4bafb8ef9fa904e6f7f7
User Media 3aec6c5a169e4b6b8e34e31181b0ae85

Jetzt machen wir das gleiche mit den ids und Ordner-Namen für den Ziel-Shop:

Ordnername id
Category Media 018c16567b9970c3b03e8495884239d7
CMS Media 018c16567b9970c3b03e84958946f763
Document Media 018c16567b9a733fb1447cc1d9561002
Imported Media 018c1656ae2b7375bf74225c2ad8dc9b
Mail Template Media 018c16567b9a733fb1447cc1dadcad6d
Payment Method Media 018c1656efe37090aa0dad03fff48d60
Product Manufacturer Media 018c16567b9b7338b0528f3fc4db1790
Product Media 018c16567b9a733fb1447cc1db74c75c
Shopseiten 018c1ba7bcc87d349dce2ff707223e85
Theme Media 018c16567cb172abb34341e1d12ef306
User Media 018c16567b9b7338b0528f3fc60d4932
Shipping Method Media 018c165744177050bb7bdb9f303cfffc

Jetzt können wir in unserer CSV Datei die ids austauschen, so dass sie korrekt einsortiert werden. Falls der Import zuvor schon durchgeführt wurde können wir uns eine frische CSV Datei aus dem „alten“ Shop runterladen. Dann löschen wir alle Inhalte außer die der Spalten id und folder_id, ersetzen die alten folder_ids mit den neuen und führen einen zweiten import, eben nur mit den Spalten id und folder_id durch.

Am besten legen wir hierfür ein neuen Profil an, was wir Medien – Ordner Update nennen. Dafür kopieren wir das Standard Medien Profil und löschen bei Zuordnung alle übrigen Felder außer id und folder_id raus.

Wie immer: Zuerst einen Testlauf starten, wenn keine Fehler kommen den Import starten. Anschließend aktualisieren wir die iIndizes.

A propos löschen.

Die Spalten deren folder_id sagt, dass es sich um Bilder handelt, die im Ordner Payment Method Media liegen können wir grundsätzlich löschen, sofern im Quell-System keine zusätzlichen Zahlarten installiert wurden.

In der Regel wird Shopware immer etwas finden was falsch ist und meckert herum, in dem Fall müssen wir uns nach den Testläufen die Fehlerberichte herunterladen und uns durch die Fehlermeldungen beißen wie Biber beim Dammbau.

4. Kategorien importieren

Für den Kategorie Im- und Export steht uns zunächst das Profil Standardprofil Kategorie zur Verfügung. Die Zuweisungsliste ist hier schon ein Stückchen länger und es rät sich gegebenenfalls ein abgespeckteres Profil zu erstellen. Wer zum Beispiel keinerlei Bilder in seinen Kategorien hat kann alle Felder mit media löschen.

Wer jedoch auch Bildverknüpfungen mit importiert sollte darauf achten, dass die folder_ids wieder angepasst werden.

Wer Kategorien neu anlegt muss außerdem den Inhalt der ersten Spalte id leeren, da die ids vom System angelegt werden. Zudem kann kontrolliert werden ob die Bilder mit den ids im neuen System vorhanden sind oder nicht.

Außerdem könnt ihr darüber nachdenken, die Spalte cms:page_id zu leeren, da es diese in eurem Zielshop nicht gibt und somit auch nicht gefunden werden können.

Auch mit dem Inhalt der Spalte parent_id wird der Ziel-Shop nicht viel anfangen können, da die ids erst nach dem Import vergeben werden. Daher wird es Sinn machen zuerst alle Zeilen zu importiren, die keine parent_id haben. dann muss man gucken welche id diese bekommen haben und entsprechen die Werte in den parent_id Feldern angleichen.

Das macht man im Grunde Ebene für Ebene.

a) Zuerst importiert man die die keine parent_id haben
b) Dann importiert man deren direkte children, hier darf wie gesagt, nicht vergessen werden die parent_id Werte auszutauschen.

In einem zweiten Import zieht man die Kategorien nach, die eine parent_id haben.

5. Erlebniswelten importieren

# nicht bei Shopware 6
Gab es bei Shopware 5 im Standard und wurde lange vermisst. Ein plugin wird es in Zukunft endlich möglich machen:
https://store.shopware.com/cogi930866936249/erlebniswelten-export-und-uebertragung-in-live-shop.html

6. Weiterführende Links

Shopware Docs – Import / Export