# Optionen eines Benutzerdefinierten Select-Feldes auslesen

**URL:** <https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392>\
**Category:** Programmierung\
**Tags:** programming, twig\
**Created:** [1. Dezember 2022 um 08:35 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392 "2022-12-01T08:35:33Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![tomole](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@tomole](https://forum.shopware.com/u/tomole)\
**Post date:** [1. Dezember 2022 um 08:35 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/1 "2022-12-01T08:35:34Z")

</div>

Ist es möglich für die Darstellung eines benutzerdefinierten `Select`-Feldes die `options` im `twig`-Template auszulesen? Über `context.salesChannel.customFields` hatte ich bisher keinen Erfolg, da `customFields: null`.  
Es geht darum das `Select`-Feld im Registrierungsformular anzuzeigen. Das Feld wurde wie folgt generiert.

```php
private function createCustomFields(Context $context): void
    {
        if ($this->customFieldSetExists($context)) {
            return;
        }

        $customFieldSetRepository = $this->container->get('custom_field_set.repository');
        $customFieldSetRepository->create([
            [
                'id' => '294865e5c81b434d8349db9ea6b4e135',
                'name' => 'my_custom_field_set',
                'customFields' => [
                    [
                        'name' => 'my_custom_field',
                        'type' => CustomFieldTypes::SELECT,
                        'config' => [
                            'label' => 'MyCustomField',
                            'options' => [
                                [
                                    'value' => '294865e5c81b434d8349db9ea6b4e487',
                                    'name' => 'my_custom_field_option_1', 
                                ],
                                [
                                    'value' => '1ce5abe719a04346930c7e43514ed4f1',
                                    'name' => 'my_custom_field_option_2',
                                ],
                            ],
                            'customFieldType' => 'select',
                            'componentName' => 'sw-single-select',
                            'customFieldPosition' => 1,
                        ],
                    ],
                ]
            ],
        ], $context);
    }

```

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [1. Dezember 2022 um 16:18 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/2 "2022-12-01T16:18:40Z")

</div>

Das customField hängt ja an keinem Entity dran, dann wird es auch nie geladen. Dann musst du per Subscriber selbst dafür sorgen, dass es an das Frontend übergeben wird.

---

<div class="post-metadata">

**Author:** ![tomole](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@tomole](https://forum.shopware.com/u/tomole)\
**Post date:** [1. Dezember 2022 um 16:30 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/3 "2022-12-01T16:30:17Z")

</div>

Hallo Max, vielen Dank für deine Antwort. Hast du eine Idee wie das aussehen könnte. Ich probiere das gerade schon die ganze Zeit.

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [1. Dezember 2022 um 16:36 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/4 "2022-12-01T16:36:01Z")

</div>

> **[Add data to storefront page](https://developer.shopware.com/docs/guides/plugins/plugins/storefront/add-data-to-storefront-page)**

---

<div class="post-metadata">

**Author:** ![tomole](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@tomole](https://forum.shopware.com/u/tomole)\
**Post date:** [1. Dezember 2022 um 16:47 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/5 "2022-12-01T16:47:43Z")

</div>

Das hatte ich auch schon gelesen. Mir ist aber nicht ganz klar wie genau ich innerhalb der `Subscriber`-Funktion an die `customFields` kommen?

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [1. Dezember 2022 um 17:06 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/6 "2022-12-01T17:06:51Z")

</div>

Du lädst in deinem construct\_\_ das RepositoryInterface, suchst dann nach deinen customFields und übergibst diese dann ans Frontend.

---

<div class="post-metadata">

**Author:** ![tomole](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@tomole](https://forum.shopware.com/u/tomole)\
**Post date:** [1. Dezember 2022 um 17:19 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/7 "2022-12-01T17:19:47Z")

</div>

Im `construct__` vom Plugin oder vom Subscriber. Ich bin relativ neu bei Shopware/Php. Mit einem kurzen Snippet würdest du mir sehr helfen. Danke Max.

Edit: Danke. Habs: [Data Abstraction Layer - Shopware Developer](https://developer.shopware.com/docs/concepts/framework/data-abstraction-layer)

---

<div class="post-metadata">

**Author:** ![tomole](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@tomole](https://forum.shopware.com/u/tomole)\
**Post date:** [1. Dezember 2022 um 18:40 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/8 "2022-12-01T18:40:07Z")

</div>

> [@Max\_Shop](#):
>
> suchst dann nach deinen customFields

Ein Frage noch zu diesem Teil. Ich habe jetzt das `EntityRepositoryInterface`.

```php
    public function __construct (EntityRepositoryInterface $customerRepository)
    {
        $this->customerRepository = $customerRepository;
    }

```

Wie bekomme ich da die `customFields`?

 ![image](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/3X/e/1/e1abb8c7095fef20639770860c0d0a04c0f2e5d1.png)

---

<div class="post-metadata">

**Author:** ![abdullah](https://avatars.discourse-cdn.com/v4/letter/a/aeb1de/32.png) [@abdullah](https://forum.shopware.com/u/abdullah)\
**Post date:** [1. Dezember 2022 um 23:35 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/9 "2022-12-01T23:35:20Z")

</div>

Wie kommst du auf den Befehl `$this->customerRepository->getCustomFields()`?

---

<div class="post-metadata">

**Author:** ![Max\_Shop](https://avatars.discourse-cdn.com/v4/letter/m/58f4c7/32.png) [@Max\_Shop](https://forum.shopware.com/u/Max_Shop)\
**Post date:** [2. Dezember 2022 um 09:05 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/10 "2022-12-02T09:05:07Z")

</div>

> [@tomole](#):
>
> `custom_field_set.repository`

Du benötigst natürlich auch das custom\_field\_set.repository. Auch in der XML ändern!

---

<div class="post-metadata">

**Author:** ![tomole](https://avatars.discourse-cdn.com/v4/letter/t/4da419/32.png) [@tomole](https://forum.shopware.com/u/tomole)\
**Post date:** [2. Dezember 2022 um 14:05 UTC](https://forum.shopware.com/t/optionen-eines-benutzerdefinierten-select-feldes-auslesen/97392/11 "2022-12-02T14:05:31Z")

</div>

Vielen Dank! Es hat jetzt alles geklappt!
