Zunächst habe ich mir händisch die folgenden drei Kategorien im Shopware Backend angelegt:
Test1
Test2
Test3
Dann habe ich versucht eine CSV-Datei mit drei Testartikeln zu importieren. In der Spalte „KATEGORIE“ der CSV-Datei steht in Textform der Name der Artikelkategorie z.B. „Test1“, „Test2“ oder „Test3“.
Der Import funktioniert natürlich nicht, weil das System in der Spalte KATEGORIE der CSV-Datei die Kategorie ID erwartet und nicht wie bei mir den Kategorie Namen.
Ich habe deshalb folgendes gemacht:
Zunächst habe ich mir die IDs der drei angelegten Kategorien notiert (10,11 und 12). Dann bin ich her gegangen und habe bei Import/Export unter dem passenden benutzerdefinierten Profil auf „Konvertierungen bearbeiten“ geklickt. Für das Feld „categoryId“ habe ich bei „Import-Umwadlung“ folgendes eingetragen:
Nach dem Speichern habe ich den Import erneut probiert. Leider klappt es noch immer nicht mit dem Import. Ich erhalte folgende Fehlermeldung:
Fehler beim Import. Kategorie mit ID Test1 konnte nicht gefunden werden.
Zwei Fragen dazu:
Ich verstehe nicht was hier noch falsch sein soll? Durch den Code oben habe ich Test1 doch durch die ID der Kategorie (10) ersetzt. Vielleicht ein Syntax Fehler im Code?
Was ist das überhaupt für eine Programmiersprache die da verwendet wird? Smarty?
Ich bin her gegangen und habe alles wie oben angepasst und dann erneut importiert. Der Import klappt nun ohne Fehlermeldung. In den Kategorien „Test1“, „Test2“ und „Test3“ finde ich nach dem Import allerdings trotzdem keine Produkte.
Funktioniert bei mir einwandfrei. In der Importdatei steht überall im Feld “categoryId” der Wert “Test”, nach dem Import sind alle Artikel der ID 7 zugewiesen.
Vielleicht passt deine Import-Datei auch nicht? Alle Felder mit Semikolon getrennt?
Dadurch, dass ich die Spalte “KATEGORIE” in der CSV durch “categoryId” ersetzt habe musste ich zusätzlich neben der Code Anpassung im Feld “Import-Umwandlung” natürlich auch noch im benutzerdefinierten Profil das Mapping bezogen auf die Kategorie von “KATEGORIE” auf “categoryId” ändern. Nach dieser Änderung klappt der Import. Die Artikel erscheinen in den Kategorien “Test1”, “Test2” und “Test3”.
In der CSV-Datei des Lieferanten heißt die Kateogie Spalte allerdings “KATEGORIE” und nicht wie benötigt “categoryId”. Die Artikel sollen täglich per Cronjob von einer URL (auf welcher der Lieferant mir die CSV-Datei zur Verfügung stellt) importiert werden. Auf der CSV-Datei, die auf der URL liegt, kann ich natürlich nicht “KATEGORIE” durch “categoryId” ersetzten. Hast du eine Idee wie man das automatisiert lösen kann?
Das Feld kann im Profil heißen wie es will - das {if} muss nur mit categoryId gemacht werden. Also im Profil und auch der Datei kann die Spalte heißén wie sie will - im Mapping dann so wie in meinem Screenshot.
Ich will Artikeln, die in einer bestimmten Kategorie (zB ID: 2258) sind, entweder nicht importieren oder auf inaktiv stellen.
Auch wenn Artikeln mehrere Kategorien haben (CSV Spalte: 563|2258|1533), dürfen diese nicht sichtbar sein. Dieser Import muss alle 2-3 Stunden erfolgen. Deshalb ist es manuell nicht durchführbar.
Bei Konvertierung “active” hab ich unter anderem folgendes, ohne Erfolg, probiert: