Online-Shop - Artikel-Import - Nicht möglich, weil Kategorie ID statt Kategorie Name notwendig.

Hallo,

ein Dropshipper stellt eine CSV-Datei mit Artikeln zur Verfügung, die in Shopware importiert werden soll. Der Import der CSV-Datei soll täglich automatisiert durchgeführt werden, damit die Daten im Online-Shop (Artikel-Sortiment, Bestände der Artikel usw.) immer auf dem aktuellen Stand gehalten werden. Für jeden Artikel in der CSV-Datei existiert u.a. eine Spalte, in welcher die Kategorie des Artikels angegeben ist. Die Kategorie könnte z.B. „Schuhe“ oder „T-Shirt“ sein. Bei Shopware ist es ja so, dass die Artikel erst dann importiert werden können, wenn die jeweiligen Artikel Kategorien bereits im Vorfeld erstellt wurden. Das ist keine große Sache, vor dem Artikel-Import haben wir einfach einen Kategorie-Import gemacht um zu gewährleisten, dass beim Artikel-Import bereits alles Kategorien vorhanden sind. Intern in Shopware hat jede Kategorie eine ID.

Wir haben nun folgendes Problem:

Beim Shopware Import ist es so, dass in der Artikel-Import-Datei die Kategorie nicht als Name angegeben werden darf, stattdessen erwartet Shopware in der Spalte Kategorie die ID der Kategorie. Wie kann man die Artikel-Import-Datei so anpassen, dass in der Spalte Kategorie statt des Namens (z.B. „Schuhe“ oder „T-Shirt“) die passende Shopware ID zur jeweiligen Kategorie vorhanden ist. Man müsste irgendwie automatisiert den Namen durch die passende Kategorie ID ersetzen, gleichzeitig soll das ganze dennoch komplett automatisiert ablaufen. Wir möchten nicht beim täglichen Import irgendwelche manuellen Anpassungen machen müssen. Das wäre ziemlich nervig. Eine Idee wie man hier vorgehen könnte?

Das kannst du über die Konvertierung machen. Wird halt ein großes If/else aber geht ohne Probleme. Da musst du ein Mapping von Name auf ID hinterlegen. Das geht also im Standard des Modules.

 

https://docs.shopware.com/de/shopware-5-de/import-export/import-export-grundmodul#konvertierungen

1 Like

@Moritz Naczenski schrieb:

Das kannst du über die Konvertierung machen. Wird halt ein großes If/else aber geht ohne Probleme. Da musst du ein Mapping von Name auf ID hinterlegen. Das geht also im Standard des Modules.

 

https://docs.shopware.com/de/shopware-5-de/import-export/import-export-grundmodul#konvertierungen

Kannst du das noch etwas detallierter erklären, vielleicht anhand eines Beispiels?

Schaue Dir für solche Projekte lieber die API an: REST API - Basics

1 Like

Moritz Naczenski schreibt das geht ohne API, NextMike schreibt es geht nur mit API. Wem soll ich nun Glauben schenken?

Mapping im Import Modul. Moritz würde ich da eher vertrauen. Aber das mit dem Mapping geht sehr einfach.

1 Like

@Moritz Naczenski schrieb:

Das kannst du über die Konvertierung machen. Wird halt ein großes If/else aber geht ohne Probleme. Da musst du ein Mapping von Name auf ID hinterlegen. Das geht also im Standard des Modules.

 

https://docs.shopware.com/de/shopware-5-de/import-export/import-export-grundmodul#konvertierungen

Wie wäre denn der Syntax den man in das Feld “Import-Umwandlung” bei Konvertierungen eintragen muss? 

So?

{if $name == schuhe}0
{if $name == hosen}1{if $name == jacken}2

usw.

 

 

 

Das Feld heißt ja nicht Name. Das kommt jetzt sehr auf dein Profil an. Wie heißt die Spalte denn in deinem Profil?

 

{if $spaltenname == 'Katergorie1'}1
{elseif $spaltenname == 'Katergorie2'}2
...
{/if}

Das steht auch in der Doku wie man das anlegt. Das kannst du dann als Import Konvertierung anlegen. Die IDs findest du im Kategoriemodulnim Backend.

1 Like

@Moritz Naczenski schrieb:

Das Feld heißt ja nicht Name. Das kommt jetzt sehr auf dein Profil an. Wie heißt die Spalte denn in deinem Profil?

 

{if $spaltenname == ‚Katergorie1‘}1
{elseif $spaltenname == ‚Katergorie2‘}2

{/if}

Das steht auch in der Doku wie man das anlegt. Das kannst du dann als Import Konvertierung anlegen. Die IDs findest du im Kategoriemodulnim Backend.

In der Import Datei heißt die Spaltenüberschrift „KATEGORIE“.  Über ein benutzerdefiniertes Profil habe ich den Feldnamen KATEGORIE über Datenbank-Mapping auf categoryId gemappt. Dann habe ich auf „Konvertierungen bearbeiten“ geklickt. Hier ich dann im Feld „Import-Umwandlung“ folgendes eintragen:

{if $KATEGORIE == 'Kategorie1'}1
{elseif $KATEGORIE == 'Kategorie2'}2
...
{/if}

Kategorie1, Kategorie2 usw. wird natürlich noch durch die richtigen Kategorie-Namen, die bereits zuvor im Shopware System erstellt wurden, ersetzt.

Ist das dann so korrekt umgesetzt?

 

oder das Tool SHOPLUKASFLEX (Windows Tool dafür zu nutze ziehen) damit geht das über beliebig viele Lieferanten mit unterschiedlichsten tabellenartigen Daten vollautomatisch. Denn was passiertmit Leichen? Sprich dein Lieferant hat Artikel aus dem Programm genommen. SHOPLUAKASFLEX erkennt die und setzt diese auf Inaktiv.

1 Like

Das Tool SHOPLUKASFLEX hört sich echt großartig an und wäre ein riesige Arbeitserleichterung, wenn es so funktioniert wie beschrieben, allerdings kann ich es nicht installieren, weil eine Warnmeldung von Windows bei mir erscheint, dass die Installationsdatei nicht von einer geprüften Quelle stammt!? Ich habe schon probiert es als Administrator auszuführen usw. aber es funktioniert leider nicht. Gibt es da irgendeinen Tipp, wie ich es trotzdem nutzen kann?

Hallo

wir sind ständig mit den Antivirenherstellern in Kontakt und ihr könnt sicher sein dass die Software nichts bösartiges inne hat. aber ist man bei einem Hersteller auf der Whiteliste ist man am nächsten Tag beim anderen wieder auf der Blacklist. Das Spiel machen wir schon ewig so. Don …    wie war der Name nochmal?