ich versuche zu verstehen, wie ich eine Kategorie über die REST-API (SW6) anlege und dabei gleichzeitig deutsche und englische Bezeichnungen / Beschreibungen mitgeben kann.
Es gibt laut Model das Objekt “translated”… aber ich finde keine Beschreibung dazu.
Kann mir jemand einen Beispielaufruf geben, wie das JSON-Konstrukt da sein muss ?
Welche Sachen übersetzbar sind und wie diese dann heißen, kannst du am besten in der CategoryTranslationDefinition nachschauen.
Btw. dies funktioniert bei allen Übersetzungen so.
Welche Sachen übersetzbar sind und wie diese dann heißen, kannst du am besten in der CategoryTranslationDefinition nachschauen.
Btw. dies funktioniert bei allen Übersetzungen so.
Ich hoffe, das hilft dir weiter.
Gruß
Krispin
Guten Morgen Krispin,
genau danach habe ich gesucht. Vielen Dank.
Fragen dazu:
Ist das translations-Objekt irgendwo dokumentiert ? Ich finde in der gesamten Shopware 6 Doku nichts dazu… weder über die Swagger-Doku, noch über " _info/openapi3.json"
Was ist denn die „id“ innerhalb des translations-Objekts ? Muss ich die selbst vergeben ? languageId und categoryId sind mir klar.
„…kannst du am besten in der CategoryTranslationDefinition nachschauen.“ Wo genau finde ich das.
Jede Translation ist ein neuer Eintrag in der dazugehörigen Tabelle (hierbei: category_translation), daher benötigt eine neue Übersetzung eine eigene ID für den Eintrag.
Also benötigst du hier eine neue UUID.
Aber es geht noch einfacher, du kannst auch einfach beim erstellen die IDs weglassen, da diese dann automatisch generiert werden.
Somit kannst du z.B. folgendes machen:
Mit dem obigen JSON erstellst du somit eine neue Kategorie mit dem Namen Jewelry und der deutschen Übersetzung Juwelen, die Kategorie-ID und auch die Translation-ID wird automatisch generiert und muss nicht explizit angegeben werden.
Sorry für die Verwirrung, aber bei der Migration z.B. setzen wir immer die IDs, um auch bei einem Update die Daten zu überschreiben und nicht neu anzulegen.
du hattest Recht… das hatte ich bei der Prozedur übersehen… mache ich sonst immer lowercase…
Ich habe nun erfolgreich eine Kategorie angelegt mit einer zusätzlichen Sprache… Aber wie kommt die dritte Sprache rein, wenn ich nicht mit einem Array arbeite ?
Habe schon ein paar Varianten probiert aber nix funktioniert.
wie wertet Ihr denn die Antwort aus? Versuche es irgendwie in ein Array zu bekommen, doch leider ohne Erfolg. Oder brauch ich das gar nicht und kann auch so auf die einzelnen Werte zugreifen?
Kann es sein, dass die ganze „translated“ Sache noch immer nicht in der REST API Doku unter https://shopware.stoplight.io erklärt ist? Finde dazu nämlich immer noch nichts Offizielles.
Ich schaue da so gut wie nie rein.
Wenn Du den einfachsten Weg gehen willst, um zu wissen, wie Du etwas posten musst, dann geh ins Shopware Backend (zum Beispiel mit Google Chrome), drücke F12 und dann kannst Du deine Calls aufzeichnen, wenn Du zum Beispiel eine Übersetzung für ein Objekt speicherst.