Wie verwendet man die Eigenschaft ‘Label’ für das Dropdown-Menü im Shopware 6-Admin?
In Shopware 6 haben wir diese coole Funktion der Anzeige von Labels mit Datenbankentitätsfeldnamen in der Backend-Verwaltung. Wenn die Entität kein Namensfeld hat, wird das Label in der Schnittstelle für die Plugin-Konfiguration und die benutzerdefinierten Felder nicht angezeigt.
Lassen Sie uns das an einem Beispiel überprüfen
Hier fügen wir eine Anrede-Entität als Single Select in der Plugin-Konfiguration hinzu
/** * <?xml version="1.0" encoding="UTF-8"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/shopware/platform/master/src/Core/System/SystemConfig/Schema/config.xsd"> <card> <title>Default salutation</title> <title lang="de-DE">Standardanrede</title> <component name="sw-entity-single-select"> <name>hatslogicDefaultSalutation</name> <entity>salutation</entity> <label>Choose default salutation.</label> </component> </card> </config> */
Bei der obigen Konfiguration werden die Beschriftungen für die Anrede nicht angezeigt. Es wird das ausgewählte Feld angezeigt, aber die Optionsbeschriftungen sind leer.
Abb.: Plugin-Konfiguration
Wir können dieses Problem lösen, indem wir die “Label-Eigenschaft” verwenden, die in Shopware 6 verfügbar ist. Sie können den Feldnamen innerhalb der “Label-Eigenschaft” verwenden. Hier ist displayName ein Feldname in der Datenbanktabelle.
/** * <?xml version="1.0" encoding="UTF-8"?> <config xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:noNamespaceSchemaLocation="https://raw.githubusercontent.com/shopware/platform/master/src/Core/System/SystemConfig/Schema/config.xsd"> <card> <title>Default salutation</title> <title lang="de-DE">Standardanrede</title> <component name="sw-entity-single-select"> <name>hatslogicDefaultSalutation</name> <entity>salutation</entity> <label>Choose default salutation.</label> <labelProperty>displayName</labelProperty> </component> </card> </config> */
Mit der obigen Konfiguration wird das Etikett abgerufen und in der Auswahlbox angezeigt.
Abb.: Plugin-Konfiguration mit Beschriftungen
Das folgende Beispiel zeigt, wie man die “Label-Eigenschaft” für benutzerdefinierte Felder verwendet.
/** * 'customFields' => [ [ 'id' => Uuid::randomHex(), 'name' => 'custom_field_name', 'type' => 'select', 'config' => [ 'label' => [ 'en-GB' => 'Label English', 'de-DE' => 'Label German' ], 'componentName' => 'sw-entity-multi-id-select', 'customFieldType' => 'select', 'customFieldPosition' => 1, 'entity' => 'customer', 'labelProperty' => ['firstName', 'lastName'] ], ], ], */
Leave a Reply