ich nutze in meiner PluginKonfiguration die sw-entity-single-select Komponente, funktioniert auch einwandfrei. Wenn ich mir die Komponente anschaue kann ich Werte wie bspw. LabelProperty einfach über den gleichnamigen XMLKnoten überschreiben. Funktioniert auch. Jetzt würde ich gerne auch die Property Criteria überschreiben um nicht alle Entities zur Auswahl zu haben. Hier ist der Type aber Object (Entity und Co. sind Strings). Wie kann ich nun in der config.xml im criteria Knoten ein Objekt definieren? Ist das überhaupt möglich?
das ist so ohne weiteres nicht möglich. Wie schon richtig erkannt, ist das criteria ein Objekt. In der config XML Datei habt ihr aber natürlich nur die Möglichkeit statische Werte wie strings oder Zahlen einzutragen.
Es müsste also erst die Möglichkeit geschaffen werden über ein XML Konstrukt einen Filter zu bauen, der dann als Criteria in die Komponente gegeben wird. Gerne könnt ihr dafür ein Ticket aufmachen.
Für Shopware 6.2 haben wir bereits einiges an der Plugin Config verbessert. Vielleicht habt ihr ja mal die Möglichkeit auf den aktuellen Master Entwicklungsbranch zu schauen.
ein Ticket wurde nun erstellt: https://issues.shopware.com/issues/NEXT-7670
Ein Mapping für den Bestell-Status in den Plugin Einstellungen ist für viele Pluginhersteller wichtig. Da muss es eine Lösung geben.
Oder hast du ein Workaround?
Wir haben ein Statusmapping eines Bestellimports, der Kunde kann hier bspw. festlegen welchen Status eine importierte Bestellung haben soll. Verwendet wird also die Entity state_machine_state und lädt alle verfügbaren Status Entities. Nun gibt es hier aber 3 mal den Status „open“ (order, order_delivery, order_transaction). Auseinander halten lassen diese sich im Dropdown gar nicht, und auch die Position ist nicht aussagekräftig aufgrund der UUIDs. Auch lässt sich kein anderes Feld als Ausgabewert bestimmen, da diese einfach absolut identisch sind, mit Ausnahme der state_machine_id, welche aber verständlicherweise auch nicht genutzt werden kann.
Wählt nun also ein Kunde das falsche „open“ kann er nachher den Bestellstatus der Bestellung im Backend nicht mehr ändern, da hierfür keine state_transition hinterlegt ist. Es ist also nicht mehr bedienbar.
Die generelle Auswahl der Entitäten ist kein Problem. Es geht um die State und die Selektierung, damit nur die richtigen Datensätze angezeigt werden bzw. ausgewählt werden können.
Gibt es hier bereits einen Fortschritt? Das Ticket ist im Backlog gelandet und scheinbar nicht mehr auf einer Roadmap. Gibt es einen Workaround fuer das Urspruengliche Problem im Ticket, also die State-Machine-States fuer die Plugin-Config nach einer bestimmten State-Machine zu filter, um z.b. nur Bestell-Status im Dropdown zu haben?
die einzige mir bekannte Lösung ist eine eigene Componente für die Config zu schreiben. Hier ein Beispiel.
custom/plugins/OwnPlugin/src/Resources/app/administration/src/component/entity/own-state-select/index.js