Produkt-Export mit Eigenschaftenausprägungen

Hallo.
Als Shopware6 Neuling habe ich ein Frage zum Produkt-Export:

Wir möchten gerne unsere Produkte (und Varianten) exportieren und zwar so, dass in der Tabelle nicht die UUIDs der Eigenschaften stehen, sondern der Name der Eigenschaftsausprägung.
Zum Beispiel statt der UUID der Eigenschaft der passende Wert „S“, „XL“.
Kompliziert wird es natürlich bei mehreren Eigenschaften, z.B. „grün“ und „XL“.

Aber die generelle Frage: Kann ich beim Export irgendwie an diese Felder ran, und wenn ja, wie heißt der passende Datenbankeintrag.

Vielen Dank für eure Zeit.

Hallo,

ich beschäftige mich auch erst seit wenigen Monaten mit Shopware 6. Mit dem Import/Export von Produkten musste ich mich schon etwas auseinandersetzen. Die gegebenen Möglichkeiten sind leider etwas enttäuschend, wie ich finde.

Man kann zwar im Admin-Bereich unter „Einstellungen → Import/Export“ eigene Profile anlegen, diese beziehen sich aber immer nur auf einen „Objekt-Typ“ (letzten Endes DB-Tabellen). Man bräuchte hier aber zwei „Produkt“ und „Eigenschaften“.

Deswegen scheidet dieser Punkt aus (soweit mir bekannt ist).

  1. Um an die Daten (für einen Export) ranzukommen kann man entweder selbst ein Script schreiben, das direkt auf die DB-Tabellen
    product,
    product_translation (Titel),
    property_group_option_translation (Eigenschaftsausprägung, die tatsächlichen Werte),
    property_group_translation (Eigenschaft, die Bezeichnung),
    property_group_option (Zuweisung Eigenschaft → Eigenschaftsausprägung)
    zugreift. Mittlerer Kopfschmerz- und Frickelfaktor. Oder …

  2. Die API benutzen, was über kurz oder lang eher sinnvoll erscheint, zumindest für mich :slight_smile:

Die Doku zur Admin API
a. Shopware Admin API | Admin API

Es gibt auch noch eine API zur Suche.

b. Search Criteria - Shopware Developer

Der Admin API Endpunkt (zur Produktsuche „/product“) ist:
http://<shop_url>/api/search/product

Bei dieser API kann man dann, über Assoziationen (-> b. associations) auf Daten aus anderen Tabellen (Eigenschaften) zugreifen :slight_smile:

Der Request Body sollte in etwa so wie unterhalb aussehen, das gibt dir dann ein Array mit allen Produkt-Objekten zurück.

Unter einem einzelnen Produkt hast du dann unter „properties“ ein Array mit allen Eigenschaftsausprägungen (sind einzelne Objekte), z.B. „grün“ oder „XL“.
data[0]->product-object->properties[0]->property_group_option-object->name → „grün“

Die Eigenschaft(sbezeichnung) z.B. „Größe“ wäre innerhalb eines einzelnen Eingeschaftsobjekts unter „group“ zu finden.
data[0]->product-object->properties[0]->property_group_option-object->group->property_group-object->name → „Farbe“

  • Den Kommentar unterhalb „// Eigenschaftsausprägung Id, Name (Wert), group (unter key „group“) → Eigenschaft Id, Name“ bitte entfernen, falls das benutzt wird *
{
"associations": {
"manufacturer": {}, "properties": {"associations": {"productProperties": {}, "group": {} } }
},
includes": {
"product": ["id", "name", "manufacturerNumber", "manufacturer", "properties", "metaDescription", "metaTitle","keywords", "stock"], "product_manufacturer": ["name"],
            //   Eigenschaftsausprägung Id, Name (Wert), group (unter key "group") -> Eigenschaft Id, Name
            "property_group_option": ["id","name","group"]' . ',"property_group": ["id","name"]
            },

}

Und damit könntest du dir, deinen eigenen Export zusammenbasteln.

Für eigenen Export

Für eigenen Import

Massenimport