Grüße! Ich bin Aneesh Sreedharan, CEO von 2Hats Logic Solutions. Bei 2Hats Logic Solutions widmen wir uns der Bereitstellung von technischem Fachwissen und der Lösung Ihrer Probleme in der Welt der Technologie. Unsere Blog-Seite dient als Ressource, in der wir Einblicke und Erfahrungen teilen und wertvolle Perspektiven auf Ihre Fragen bieten.
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
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | /** * <?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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | /** * <?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.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 | /** * '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'] ], ], ], */ |