# Customer Entity Extension mit Scalar Values möglich, aber wie?

**URL:** https://forum.shopware.com/t/customer-entity-extension-mit-scalar-values-moeglich-aber-wie/86838
**Category:** Programmierung
**Tags:** programming
**Created:** [13. April 2021 um 12:10 UTC](https://forum.shopware.com/t/customer-entity-extension-mit-scalar-values-moeglich-aber-wie/86838 "2021-04-13T12:10:14Z")
**Posts on this page:** 1
**Showing post:** 2

<div class="post-metadata">

### Author: ![openmindculture](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/openmindculture/32/8658_2.png) [@openmindculture](https://forum.shopware.com/u/openmindculture)
#### Post date: [27. Februar 2024 um 09:35 UTC](https://forum.shopware.com/t/customer-entity-extension-mit-scalar-values-moeglich-aber-wie/86838/2 "2024-02-27T09:35:03Z")

</div>

Späte Antwort, aber ich hatte ein ähnliches Problem: Produkte sollen mehrere zusätzliche Felder/Eigenschaften für prozentuale Werte bekommen, also einfache, skalare Integer-Felder.

Die Dokumentation ist leider auch drei Jahre später immer noch recht knapp gehalten und geht nicht auf solche Details ein. An anderer Stelle steht, es ginge auch mit JSON, sofern nur skalare Werte benötigt werden. Dort war mir wiederum unklar, ob sich auch bestehende Core Entitities wie Produkte auf diese Weise programmatisch erweitern lassen, oder ob das nur per Admin UI oder API Endpoint möglich ist.

Wie lautet die Lösung bzw. was ist die Best Practice? Vermutlich so: in der Plugin-Klasse die Lifecycle-Methode `install` implementieren und dort ein `customFieldSetRepository` kreieren, das die gewünschten Skalare beschreibt. Etwa so wie folgt.

```auto
    public function install(InstallContext $installContext): void
    {
        parent::install($installContext);

        $customFieldSetRepository = $this->container->get('custom_field_set.repository');

        $customFieldSetRepository->create([
            [
                'name' => 'ingos_example_custom_field_set',
                'config' => [
                    'label' => [
                        'de-DE' => 'Kostenfaktoren',
                        'en-GB' => 'Cost Factors',
                        Defaults::LANGUAGE_SYSTEM => 'Cost Factors',
                    ]
                ],
                'customFields' => [
                    [
                        'name' => 'ingos_example_percentage_01',
                        'type' => CustomFieldTypes::INT,
                        'config' => [
                            'label' => [
                                'de-DE' => 'Kostenfaktor 1 Prozentsatz',
                                'en-GB' => 'cost factor 1 percentage',
                                Defaults::LANGUAGE_SYSTEM => 'cost factor 1 percentage',
                            ],
                            'type' => 'number',
                            'numberType' => 'int',
                            'customFieldType' => 'number',
                            'step' => 1,
                            'min' => 0,
                            'max' => 100,
                            'customFieldPosition' => 1,
                        ],
                        'active' => true,
                    ],
                ],
                'relations' => [
                    [
                        'entityName' => 'product',
                    ],
                ],
            ],
        ], $installContext->getContext());
    }
}

```

Quellen: Shopware Doku, diverse Blogs, StackOverflow und dieser hilfreiche Forenbeitrag:

> [@CustomFields für existierende Entity erstellen](https://forum.shopware.com/t/customfields-fuer-existierende-entity-erstellen/65514):
>
> Hallo, ich versuche einer existierenden Entity programmatisch CustomFields zuzuweisen. Ich habe schon herausgefunden, wie ich der Entity beim Speichern das customFields-Objekt mitgebe. Nun muss ich noch die Felddefinitionen erstellen, damit diese&nbsp;beim Speichern auch&nbsp;wirkllich zu Verfügung stehen und die Daten nicht ins Leere laufen. Das habe ich in der Doku dazu gefunden:&nbsp;[https://docs.shopware.com/en/shopware-platform-dev-en/internals/core/data-abstraction-layer/custom-field](https://docs.shopware.com/en/shopware-platform-dev-en/internals/core/data-abstraction-layer/custom-field) $customFieldSetRep…

---

_[View the full topic](https://forum.shopware.com/t/customer-entity-extension-mit-scalar-values-moeglich-aber-wie/86838)._
