In Plugin die Übersetzung (description) von Zahl- und Bestellstatus ermitteln

Hallo,

ich habe gesehen, dass in Shopware 5.5 das Feld “description” in den Zahl- und Bestellstatus deprecated wurde und z.B. beim Laden über den QueryBuilder nicht mehr ausgeliefert wird. Wir haben ein Plugin, dass die API erweitert und darüber Aufträge an eine externe Anwendung ausliefert. Dort bräuchten wir die übersetzten Zahl- und Bestellstatus, damit wir die dort so anzeigen können, wie sie auch im Backend des Shops heißen.

Ich habe leider in der Developer-Doku und im Forum keine Lösung finden können, wie ich an die Übersetzungen heran komme. In der Doku steht, dass man dies über Snippets erreichen kann, allerdings sind da nur Beispiele für Smarty angegeben und in unserem Plugin befeuere ich ja kein User-Interface, sondern beantworte einen API Call.

Weiß jemand, wie man aus einem Plugin heraus (also in PHP - nicht in Smarty) an die Übersetzung der Zahl- und Bestellstatus kommt? Also an das, was bislang im Datenbankfeld “description” stand?

Es gibs ein Service StateTranslator schau Mal in die Order.php (Controller)

Hallo,

danke schonmal für den Hinweis, allerdings komme ich von der API Ressource aus scheinbar nicht auf direktem Weg an den StateTranslator des Backends heran (und die API hat scheinbar keinen StateTranslator). Meine Klasse extended folgendes: “Shopware\Components\Api\Resource”.
Folgendes habe ich probiert:

$stateTranslator = Shopware()->Container()->get('shopware.components.state_translator');

Allerdings erhalte ich dann die Fehlermeldung: “Class ‘Shopware\Components\Api\Resource\StateTranslatorService’ not found”.

Ich habe daraufhin folgendes versucht:

$stateTranslator = Shopware()->Container()->get('plugins')->Backend()->get('shopware.components.state_translator');

Dann erhalte ich folgende Fehlermeldung: “Call to a member function translateState() on null”, d.h. darüber komme ich offenbar auch nicht an den StateTranslator des Backends heran.

Weißt du, wie man von einer API Klasse aus an den StateTranslator des Backends heran kommt? :wink:

Die Zeile 

$stateTranslator = Shopware()->Container()->get(‘shopware.components.state_translator’); sollte klappen. Der Fehler ergibt hier irgendwie auch kein sinn