Neues Thema starten

ShopwareAddProducts Mapping Problem

Hallo,


ich habe folgende Problemstellung und hoffe das mir da jemand weiterhelfen kann. Ich nutze einen Shopware Shop und möchte Artikel aus ITScope mit ShopwareAddProducts über das Mapping in die richtigen Kategorien anlegen/sortieren.


Ich habe damals die IT-Kompass Schnittstelle Adporto genutzt um den automatisierten Artikelimport durchzuführen und die ITScope Standard Kategorien entsprechend zwecks Kundenfreundlichkeit angepasst (dies war auch kein Problem, da sich der Import an den Kategorie ID´s von Shopware orientiert hat). Derzeit habe ich 933 Kategorien und möchte sicherstellen das neu angelegte Artikel in den richtigen Kategorien landen.


Die "ITscope - Shopware" Vorlage habe ich zum testen installiert, jedoch fürchte ich, das es mit dem voreingestellten Mapping des CategoryPaths Befehls --> Deutsch|${productTypeGroupName}|${productSubType!} nicht funktionieren wird.


Gibt es eine Möglichkeit die Shopware Kategorie ID´s auszulesen und diese dann für die richtige Kategoriezuordnung beim Mapping verwenden zu können?


Hallo,


um die Shopware Kategorien auszulesen kannst du den UrlDownload Step verwenden, den du folgendermaßen konfigurierst:


host: http://[deine shopware url]/api/categories

method: GET

username: dein shopware nutzer

password: der entsprechende apitoken


Danach hängst du einen VisualJSON2Spreadsheet an, der den File output aus den UrlDownload Step verwendet.


Und am ende kannst du mit dem AddUpdateMappingset dir ein Mappingset erstellen.


Mit freundlichen Grüßen,

Dein Synesty-Support

 vielen Dank für die schnelle Rückmeldung, ich hab deinen Vorschlag soweit umgesetzt. Das Mappingset setzt ja den Datastore vorraus, sprich ich brauch zwingend den Datastore um die Artikel den richtigen Kategorien zuzuordnen? Oder gibt es noch eine Lösung ohne Datastore?


Mit freundlichem Gruß


Emanuel Griesbeck

Hallo,


ein Mappingset setzt nicht zwingend einen Datastore voraus. Ja wir haben ein Datastore-Mappingset, aber das brauchst du an dieser Stelle nicht. Du kannst das mit dem AddUpdateMappingset erstellte Mappingset, in der jeweiligen Spalte im SpreadsheetMapper verwenden, so wird die jeweilige ID in die entsprechende Kategorie übersetzt, oder anders rum.


Mit freundlichen Grüßen,

Dein Synesty-Support

Hallo,


Entschuldigung für die Verzögerung meiner Antwort. Ich hab deine Lösung leider noch nicht ausprobieren können, werde es aber die Tage versuchen umzusetzen. Es hat sich aber noch eine Frage ergeben und zwar damit jeder Artikel in der richtigen Kategorie einsortiert wird muss, ich in der entsprechenden Spalte mit if-abfragen evtl. wenn möglich mit switch case abfragen bei den Artikelattributen arbeiten oder gibt es da eine praktikablere Lösung?


Mit freundlichen Grüßen


Emanuel Griesbeck

Hallo, 


bei einer relativ einfachen Logik könnte man auch direkt Artikelattribute auf den jeweiligen Kategoriepfad über ein MappingSet zuordnen. Wenn es eine kompliziertere Logik ist, werden sie vermutlich die if-else bzw. switch Skript Anweisungen benötigen.


Mit freundlichen Grüßen,

Dein Synesty-Support

Hallo,


der Tipp mit der Erstellung des MappingSet hat funktioniert. Die Problematik mit der Zuordnung über den Kategroiepfad ist Problematisch, da je nach Artikel dieser auch mehreren Unterkategorien zugeordnet werden muss. Sprich mit dem der Prüfung des "categoriePath" allein, wird das denke ich nicht möglich sein. Mein Ansatz wäre eine Logik zu implementieren, die anhand der Artikelattribute/-spalten prüfen kann, ob und in welchen Unterkategorien der Artikel jeweils zugewiesen werden muss. Die Frage stellt sich halt wie, einfach dies umzusetzen ist? Eventuell gehe ich auch zu kompliziert an die Sache ran.


Mit freundlichen Grüßen


Emanuel griesbeck

Hallo Herr Griesbeck, 


wir wissen leider noch nicht ganz genau wie komplex ihre Logik aussieht. Vielleicht können sie uns noch ein Beispiel schicken. 


Anbei ein Beispiel wie man eventuell vorgehen könnte: 


Die Spalten attributeTypeName1/4 und attributeValue1/4 dienen nur der Ver­an­schau­li­chung. 


In Spalte "AttributeUndWerte" geben wir alle AttributTypen und Werte mit einem vorhandenen Wert Semikolon getrennt aus. 

Skript im Wert Feld:


<#if attributeValue1! != "">${attributeTypeName1!}_${attributeValue1!};</#if><#if attributeValue2! != "">${attributeTypeName2!}_${attributeValue2!};</#if><#if attributeValue3 != "">${attributeTypeName3!}_${attributeValue3!};</#if><#if attributeValue4! != "">${attributeTypeName4}_${attributeValue4!};</#if><#if attributeValue5! != "">${attributeTypeName5}_${attributeValue5!};</#if>



In Spalte "SWKategorienMappen" wird dann das Ergebnis der Spalte "AttributeUndWerte" über ein MappingSet den entsprechenden SW Kategorien zugeordnet. Wichtig ist: der Mapping Modus muss auf "Nicht gemappte Werte entfernen" und das Trennzeichen auf Semikolon (;) gesetzt werden. Wenn eine Attribut-/Wert Kombination in mehreren SW Kategorien zugeordnet werden soll, dann können sie diese auch Semikolon getrennt angeben (z.B: Bilddiagonale (Zoll)_27 " - 28 "=Deutsch|Monitore|27Zoll;Deutsch|Monitore|28Zoll


Die Spalte "FinaleKategorien" die nur dazu die überflüssigen Semikolons durch nicht gemappte Werte zu entfernen.  



Hallo Support Team,


rein vom Grundgedanke, hatte ich mir das ähnlich wie in Ihrem Beispiel dargestellt vorgestellt. Jedoch würde ich lieber wie im Screenshot_1 angehängt auf die "CategoryIds" mappen, da bei Änderung z.B. des Kategorienamens der Kategorie Pfad im Mappingset String dann nichtmehr stimmen würde. Dies hätte Anpassungen im Mappingset String zur folge.


Aus Ihrem Beispiel haben sich noch folgende Fragen ergeben:


1. Habe ich das richtig verstanden das der Mappingset String je Zeile einmal komplett abgearbeitet wird oder wird dieser bei einem Suchkritierentreffer (z.B: Bilddiagonale (Zoll)_27 " - 28 " ) auf den festgelegten Wert gemapped und zur nächsten Zeile gesprungen?


2. Muss auf eine genaue Schreibweise bei den Suchkriterien geachtet werden oder kann dies vernachlässig werden? (Hintergrund: Teilweise keine einheitliche Schreibweise bei IT-Scope Artikelbezeichnung)


Ich habe Ihnen mal einen Screenshot über den Kategorieaufbau meines Shopware backends angehängt, damit Sie sich einen Eindruck verschaffen können.

Mit freundlichen Grüßen

Emanuel Griesbeck
Anmelden um einen Kommentar zu veröffentlichen