# Zusatzfelder - Ausblenden/Nur lesen

**URL:** <https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286>\
**Category:** Programmierung\
**Created:** [18. September 2023 um 18:24 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286 "2023-09-18T18:24:13Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![mike.b](https://avatars.discourse-cdn.com/v4/letter/m/eb8c5e/32.png) [@mike.b](https://forum.shopware.com/u/mike.b)\
**Post date:** [18. September 2023 um 18:24 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/1 "2023-09-18T18:24:13Z")

</div>

Gibt es eine Möglichkeit, ausgewählte „Zusatzfelder“ vor Benutzern zu verbergen oder sie schreibgeschützt zu machen?

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [19. September 2023 um 03:26 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/2 "2023-09-19T03:26:17Z")

</div>

Wozu? Dann kannst du ja gleich mit Konstanten arbeiten.

---

<div class="post-metadata">

**Author:** ![mike.b](https://avatars.discourse-cdn.com/v4/letter/m/eb8c5e/32.png) [@mike.b](https://forum.shopware.com/u/mike.b)\
**Post date:** [19. September 2023 um 12:59 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/3 "2023-09-19T12:59:27Z")

</div>

Muss Informationen aus anderen Systemen speichern.

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [20. September 2023 um 09:00 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/4 "2023-09-20T09:00:18Z")

</div>

Dann speichere die in Variablen/Konstanten.

---

<div class="post-metadata">

**Author:** ![mike.b](https://avatars.discourse-cdn.com/v4/letter/m/eb8c5e/32.png) [@mike.b](https://forum.shopware.com/u/mike.b)\
**Post date:** [20. September 2023 um 10:35 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/5 "2023-09-20T10:35:13Z")

</div>

Ich benötige das für jede Bestellung und jedes Produkt im Verhältnis 1:1

---

<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:** [20. September 2023 um 11:47 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/6 "2023-09-20T11:47:09Z")

</div>

Du kannst das OrderEntity erweitern und dort deinen Wert eintragen. Oder in das Custom Fields, ohne es anzulegen (sollte möglich sein, soweit ich mich erinnere).

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [21. September 2023 um 02:56 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/7 "2023-09-21T02:56:34Z")

</div>

Da Custom-Fields vom Typ `json` sind, kannst du die einfach füllen ohne vorher etwas angelegt oder definiert haben zu müssen:

```php
$this->orderRepository->upsert([[
    'id' => $orderId,
    'customFields' => ['my_custom_field' => 'foobar']
]]);

```

Und damit wird das custom field schon gespeichert und kann dann ausgelesen werden:

```php
$order = $this->orderRepository->search(new Criteria([$orderId]), $context);
$order->getCustomFields()['my_custom_field'];

```

---

<div class="post-metadata">

**Author:** ![purpix](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/purpix/32/14639_2.png) [@purpix](https://forum.shopware.com/u/purpix)\
**Post date:** [11. Oktober 2023 um 07:59 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/8 "2023-10-11T07:59:29Z")

</div>

Du beschreibst genau ein Thema welches ich dringend benötige. Mein Problem ist, das ich ein Zusatzfeld bei den Bestellungen habe, welches bei jeder getätigten Bestellung mit einem festen Wert versehen werden soll. Shopware bietet hier nur Placeholder an ☹ Wo hinterlegst du den von dir geschrieben Code damit das Feld auch befüllt wird? Danke dir schonmal im Voraus.

---

<div class="post-metadata">

**Author:** ![AlexGalax](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/alexgalax/32/9925_2.png) [@AlexGalax](https://forum.shopware.com/u/AlexGalax)\
**Post date:** [11. Oktober 2023 um 10:41 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/9 "2023-10-11T10:41:28Z")

</div>

Du kannst z.B. auf `CheckoutFinishPageLoadedEvent` subscriben und dort das Custom-Field setzen.

---

<div class="post-metadata">

**Author:** ![shinroh](https://avatars.discourse-cdn.com/v4/letter/s/3ec8ea/32.png) [@shinroh](https://forum.shopware.com/u/shinroh)\
**Post date:** [17. August 2024 um 10:00 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/10 "2024-08-17T10:00:23Z")

</div>

Also wenn du den Usecase eines readonly Zusatzfelds in der Admin UI tatsächlich nicht verstehst:  
Ein Mitarbeiter muss Zusatzfeld XY durch die Amin UI auslesen können, darf aber das Feld nicht ändern.

Eigentlich ein ziemlich verbreiteter Usecase, gab es auch in SW5, aber in SW6 scheint es hier immer noch keine Möglichkeit zu geben?

---

<div class="post-metadata">

**Author:** ![shinroh](https://avatars.discourse-cdn.com/v4/letter/s/3ec8ea/32.png) [@shinroh](https://forum.shopware.com/u/shinroh)\
**Post date:** [26. Juli 2025 um 14:18 UTC](https://forum.shopware.com/t/zusatzfelder-ausblenden-nur-lesen/101286/11 "2025-07-26T14:18:52Z")

</div>

Ich push das nochmal da es in den Foren Posts irgendwie noch keine Antwort darauf gibt. Es genügt unter ‚config‘ die Eigenschaft ‚disabled‘ =\> true zu setzen. Also:

```auto
        'customFields' => [
            [
                'name' => 'my_readonly_field',
                'type' => CustomFieldTypes::TEXT,
                'config' => [
                    'label' => [
                        'en-GB' => 'some field',
                    ],
                    'customFieldPosition' => 1,
                    'disabled' => true,
                ]
            ],

```
