woocreatesimpleproducts - categories

Hallo, wie genau funktioniert das Feld "categories" in diesem Step? Ich möchte z.B. einen Artikel anlegen, dessen Kategorieverknüpfung 64-73-116 ist (1. Ebene-2.Ebene-3.Ebene)


Gruß Micha

Hallo Micha,


du musst die Kategorien kommasepariert angeben. Also musst du eigentlich nur die Bindestriche mit Kommas ersetzten.

Hier auch nochmal nachzulesen: https://apps.synesty.com/registration/de-de?action=showStep&id=108813ca-1f0d-11e9-9fe2-901b0ea49fee


Viele Grüße,

Lukas

Das hatte ich gelesen, daraus geht aber nicht hervor, ob das dann VERSCHIEDENE Kategorien sind (also Artikel wird in den drei Kategorien einsortiert - was ich NICHT will) oder eine in die Tiefe gehende Kategorieverknüpfung (also Artikel wird in der untersten Ebene des angegebenen Pfads einsortiert - was ich brauche)

Hallo Micha,


ok, ich habe jetzt verstanden was dein Ziel ist. Ich habe ein wenig in unserem Testsystem gespielt und bin zur folgenden Erkenntnis gekommen:

Wenn bei deinem Beispiel 64-73-116 die 116 die tiefste Ebene ist, dann sollte es reichen, dass du nur die 116 angibst.


Viele Grüße,


Lukas

Prima, danke!

Kannst Du das bitte nochmal überprüfen? Meine Importe haben nur geklappt, wenn die max. Ebenentiefe 2 ist. Also Beispiel:

![image](upload://iLbVlMLNO145HmZBbJfdCFewiof.png "image")


Ich habe alle Kat-IDs überprüft, stimmen. Das Problem tritt bei allen Artikeln auf, die tiefer als bis Ebene 2 gehen. Ich brauche das ggf. bis Ebene 4


Gruß Micha

Hallo Micha,


das kann ich mir tatsächlich nicht erklären wieso es bei dir nicht geht. Kannst du mir bitte einmal sagen welche Woocommerce Version du verwendest? Die Version findest du unter Plugins und dann Woocommerce. Danke.


Viele Grüße,

Lukas

Version 3.7.0

Hallo Micha,


wir haben es jetzt nochmal mit der WooCommerce Version 3.7 getestet und konnten die Artikel mit Kategorien der Ebene 3 (und auch 4) verknüpfen. Kannst du uns bitte mal wieder einen Http Log für einen Testartikel per Ticket schicken.


Vielen Dank!

Torsten

Also, es ist echt nicht zu verstehen. Ich habe jetzt mal ins Feld "categories" direkt "116,113,71" eingetragen. Wenn ich das so abschicke, werden alle drei Kategorieverknüpfungen am Artikel in Woo angelegt. Wird das Feld aber über einen vorgelagerten Step gefüllt, wird nur der letzte Eintrag (71) als Kategorie verknüpft. Dabei ist das aus meiner Sicht original derselbe String:

![image](upload://gtzEG1AwQdZ2NvKJfKGX4efyypp.png "image")

![image](upload://yI8TtaSGOnmAzQus2RARfujY4An.png "image")


--> Upload-Step:

![image](upload://4YgUXmoMWLGBGvZv6wXV0JQ43dQ.png "image")

![image](upload://oD0dyI4FuwOcGVgZ9yEH9YBopjb.png "image")


Aus Sicht der Entwicklertools:

![image](upload://bYi1P886m0PudPuvEOaK306tjwQ.png "image")


==>In Woo:

![image](upload://7VwXruauz9L3gU900swyp1HnQd6.png "image")


Jetzt das Ganze direkt eingetragen:

![image](upload://wYrTTyb4mRP6vXAwaiiSmBHzbBZ.png "image")


==>Woo:

![image](upload://zetLgbJ4WhO4IKXdRAMENi36n7F.png "image")


Ich weiß nicht weiter! Ich kann euch gerne ein Logfile schicken, aber da sieht man eigentlich nur folgendes:


2019-10-10 17:15:06,684 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " "images": [[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " {"src" : "https://cdn02.plentymarkets.com/5ajtom15v1lx/item/images/1003264/full/Face-und-Body-Bodypainting-Farbe-25ml-ca-50g-Senjo-Color-Metallic-SC257-1003264_1.jpg"},[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " {"src" : "https://cdn02.plentymarkets.com/5ajtom15v1lx/item/images/1003264/full/_1.jpg"},[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " {"src" : "https://cdn02.plentymarkets.com/5ajtom15v1lx/item/images/1003264/full/.JPG"},[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " {"src" : "https://cdn02.plentymarkets.com/5ajtom15v1lx/item/images/1003264/full/.png"},[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " {"src" : "https://cdn02.plentymarkets.com/5ajtom15v1lx/item/images/1003264/full/_1.JPG"},[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " {"src" : "https://cdn02.plentymarkets.com/5ajtom15v1lx/item/images/1003264/full/Face-und-Body-Bodypainting-Farbe-25ml-ca-50g-Senjo-Color-Metallic-SC257-1003264.jpg"}[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " ],[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " "regular_price": "10.95",[\r][\n]"
2019-10-10 17:15:06,684 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " "status": "publish",[\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " "catalog_visibility": "visible",[\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " "categories": [[\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " {"id" : "71"}[\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " ],[\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " "type": "simple"[\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> " [\r][\n]"
2019-10-10 17:15:06,685 http-outgoing-142081 >> "} "
2019-10-10 17:15:15,389 http-outgoing-142081 << "HTTP/1.1 201 Created[\r][\n]"


Es wird also nur die 71 übertragen. Vielleicht ist es wichtig dazuzusagen, daß ich diese Kategorien vorher über Formeln, Querverweise, ValueSplit2Row und Aggregierung zusammengebracht habe. Zur Sicherheit habe ich aber noch einen "neutralen" SSM vor den Create-Step geschaltet, der die categories-Spalte per Regex von allem auch Unsichtbaren befreien sollte, was nicht Zahl oder Komma ist:

![image](upload://snz1pZsA1dwW7UZLC4SMyhRl5CN.png "image")


Es nützt alles nichts, es ist zum Auswachsen!!


Gruß Micha

Hallo Micha,


wenn es mit den fest hinterlegten Kategorie IDs im Wert Feld funktioniert, würde ich den woocommerceCreateSimpleProducts als Fehlerursache ausschließen.


Ich vermute das Problem in einem der vorherigen Steps was dazu führt, dass bei Ausführung etwas anders als während der Konfiguration / Vorschau ist. Ohne den Flow zu kennen lässt sich nur schwer sagen woran es genau liegt. Kannst du bitte mal folgende Sachen prüfen:

  • Querverweis: Wenn du da identifier2 oder 3 verwendest, bitte mal überprüfen ob die auch wirklich eindeutig sind im Datastore. Sonst ist es zufällig von welchem Datensatz der Wert zurückkommt
  • Gruppierung: Bei einigen Aggregatfunktionen spielt die Sortierung des Input-Spreadsheets eine Rolle ("Wert aus 1. Zeile", "Wert aus letzer Zeile" ...). Je nachdem was du vorher im Flow noch machst, könnte die Reihenfolge der Zeilen während der Ausführung anders sein als in der Vorschau. Evtl. kannst du in diesem Fall mal die Aggregatfunktion "Eindeutige Werte auflisten" probieren. Vielleicht kannst du dir auch das Spreadsheet vor der Gruppierung und nach der Gruppierung als CSV per Email schicken.


Ich hoffe das hilft dir weiter.


Viele Grüße

Torsten



Hallo Torsten, das ist ja blöd, daß man sich nicht auf die Ansicht im SSM verlassen kann. Tatsächlich sieht es ganz anders aus, wenn ich es vorher als csv exportieren lasse. Das allerdings und was Du bzgl. der Uneindeutigkeit von identifier2-Werten gesagt hast, bringt mich prompt zum nächsten Problem. Wenn ich das lösen kann, löst sich das erste wahrscheinlich auch auf. Es ist so: Die Plenty-Daten haben teilweise Kategorieverknüpfungen bis in die vierte Ebene. Es kommt vor, daß Werte auf einer bestimmten Ebene mehrfach vorkommen (..Latexteile-->Zubehör und ..Bodypainting-->Zubehör). Damit ich die für Woo korrekt verknüpfen kann, muß ich also die Parent-Child-Verbindung erhalten. Soweit ich es sehe, kann ich aber nur einen Parent-DS mit einem Child-DS anlegen, ich bräuchte aber Parent-Child/Parent-Child/Parent-Child. Wie kann ich das denn lösen?

Eine Alternative wäre aber auch, es so zu machen wie bisher, aber bei Vorkommen mehrerer gleicher Werte in einem Datastore alle über den Querverweis zu ziehen. Z.B.:


![image](upload://eqEDGOzzGNn6rYH86ZYb0Qv4LG9.png "image")


Ziel wäre es also, bei Abfrage über den Querverweis (identifier2=Zubehör) alle drei Treffer zurückzubekommen. Das alles müßte ich dann in zwei Querverweisen laufen lassen, der erste gibt mir z.B. alle drei (extra gespeicherten) ParentIDs zurück, der zweite die eigentlich gesuchten IDs (identifier). Dann könnte ich die Stelle der korrekten ParentID ermitteln und wüßte dann auch die Stelle der korrekten gesuchten ID.

Aber eleganter wäre natürlich eine Parent-Child-Datastore-Struktur, die bis in die vierte Ebene reicht.


Oder hast Du vielleicht eine ganz andere Idee?


Danke schon mal für Deine Mühe!


Gruß Micha

Warte mal noch, ich habe eine Idee, wie ich das mehrstufig hinbekomme

Also, ich habe es jetzt zwar sehr aufwendig aber erfolgreich hinbekommen. Bei dieser Arbeit fiel mir an einer Stelle ein Verbesserungsvorschlag ein - vielleicht könnt ihr ja mal grübeln, ob das ginge. Folgendes: Ich habe zur Problemlösung eine Kaskade von Spreadsheets erstellt, die immer um eine Kategoriebene erweitert werden usw., Details sind ja jetzt egal. Auf jeden Fall werden am Ende vier Datastores erstellt, die jeweils eine Ebene abbbilden - diesmal ist der identifier aber die Kategorieverknüpfung BIS zu dieser Ebene. Beispiel E2:

![image](upload://6qeMO0syKa2lYfxuuexDesXdfG7.png "image")

E3:

![image](upload://8UegP3EDLOV3JgbAFcm4GXvwvGY.png "image")


usw. Jetzt kann ich je nachdem, was da für eine Kategorieverknüpfung aus Plenty einfliegt, den Wert in den Datastores suchen. Nun zu meinem Anliegen: Ich muß dafür vier Spalten mit Querverweisen anlegen, die jeweils einen DS durchsuchen - dreimal findet er dann nichts, bei einem wird er fündig. Dann muß ich noch diese Ergebnisse in einer fünften Spalte auswerten, um am Ende nur noch die Treffer zu haben. Das liegt alles daran, daß ich einen Datastore genau spezifizieren muß. Ich weiß ja aber, daß ich bei einer Kategorieverknüpfung der Ebenentiefe 2 im DS ..E2, bei einer von 4 in DS ..E4 suchen muß. Ich würde nun gerne im Feld "Datastore" im Querverweis eine Formel eingeben, die ermittelt, WELCHER DS durchsucht werden soll. Also à la "Wenn Ebenentiefe = 1 dann DS_E1 oderwenn...oderwenn Ebenentiefe = 4 dann DS4". Das würde die Abarbeitung des SSM meines Erachtens erheblich beschleunigen, weil er pro Zeile eben nur einen DS durchsuchen müßte. Bitte denkt doch mal nach, ob ihr das Feld für Formeln freigeben könnt...


Gruß Micha