# Neues Attribute-System: Eigene Entity für Multiselect

**URL:** <https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992>\
**Category:** Programmierung\
**Created:** [7. Juli 2016 um 06:22 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992 "2016-07-07T06:22:49Z")\
**Posts on this page:** 9\
**Page:** 1

<div class="post-metadata">

**Author:** ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)\
**Post date:** [7. Juli 2016 um 06:22 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/1 "2016-07-07T06:22:49Z")

</div>

hi, ich habe laut Beispiel ([Attribute system](https://developers.shopware.com/developers-guide/attribute-system/)) eine eigene Entität für ein Multiselect angelegt.&nbsp;

Leider kann ich dieses jetzt im Backend unter&nbsp;Einstellungen-\>Freitextfeld-Verwaltung aber nicht editieren.&nbsp;&nbsp;&nbsp;In der Datenbank kann ich die Optionen hinzufügen und diese stehen bei den Artikeldetails auch zur Verfügung. Was muss ich machen damit ich das auch in der&nbsp;Freitextfeld-Verwaltung bearbeiten kann?

Zudem werden mir im Frontend dann nur die ID’s der gewählten Optionen ausgegeben (’|1|2|’) Ich hätte aber gern auch den $name ung ggf. $description&nbsp;zur Verfügung.

Jemand einen Tipp?

&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)\
**Post date:** [11. Juli 2016 um 11:24 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/2 "2016-07-11T11:24:21Z")

</div>

niemand eine Idee?

---

<div class="post-metadata">

**Author:** ![hbee](https://avatars.discourse-cdn.com/v4/letter/h/f08c70/32.png) [@hbee](https://forum.shopware.com/u/hbee)\
**Post date:** [15. Juli 2016 um 08:36 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/3 "2016-07-15T08:36:43Z")

</div>

schade, dass neue Funktionen immer nur halbherzig dokumentiert und somit nur sehr schwierig umzusetzen sind …

---

<div class="post-metadata">

**Author:** ![TiGer](https://avatars.discourse-cdn.com/v4/letter/t/a8b319/32.png) [@TiGer](https://forum.shopware.com/u/TiGer)\
**Post date:** [23. August 2016 um 08:50 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/4 "2016-08-23T08:50:29Z")

</div>

> [@hbee schrieb:](https://forum.shopware.com/profile/1538/hbee "hbee")
> 
> schade, dass neue Funktionen immer nur halbherzig dokumentiert und somit nur sehr schwierig umzusetzen sind …

Dem kann ich mich nur anschließen.&nbsp;

---

<div class="post-metadata">

**Author:** ![Oliver\_Skroblin](https://avatars.discourse-cdn.com/v4/letter/o/6bbea6/32.png) [@Oliver\_Skroblin](https://forum.shopware.com/u/Oliver_Skroblin)\
**Post date:** [24. August 2016 um 05:30 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/5 "2016-08-24T05:30:13Z")

</div>

Hi,

damit das Attribute auch in der Freitextverwaltung bearbeitet werden kann musst du folgendes im PHP ergänzen:

```
$service->update(
    's_articles_attributes',
    'my_multi_selection',
    'multi_selection',
    [
        'entity' => \SwagAttribute\Models\SwagAttribute::class,
        'displayInBackend' => true,
        'label' => 'My multi selection',
        'custom' => true
    ],
    null,
    true
);

```

&nbsp;

Durch den Wert “custom” wird definiert, dass der Kunde/Shopbetreiber dieses auch editieren darf. Dieses Flag wurde eingebaut, damit Attribute aus Plugins nicht einfach in Ihrer Datenstruktur geändert werden können, ohne das der Plugin Entwickler dies gewollt hätte. Daher muss dies&nbsp;im Plugin erst explizit freigeschaltet werden.

Nun zu der anderen Frage: “es werden nur die IDS ausgelesen”. Das stimmt, anders ist dies auch nicht möglich da sonst zum einen die Performance leiden würde und zum anderen es recht schnell zu Dauerschleifen kommen könnte.

Wenn z.B. der Artikel ein Attribute hat in dem mehrere Artikel hinterlegt werden. In diesem Artikeln sind dann wieder weitere Artikel verknüpft welche wieder im Frontend ausgelesen werden müssten, usw.

Hoffe das hilft dir weiter.

---

<div class="post-metadata">

**Author:** ![Oliver\_Skroblin](https://avatars.discourse-cdn.com/v4/letter/o/6bbea6/32.png) [@Oliver\_Skroblin](https://forum.shopware.com/u/Oliver_Skroblin)\
**Post date:** [24. August 2016 um 05:34 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/6 "2016-08-24T05:34:29Z")

</div>

Nachtrag,

wenn du das Attribute dann in der Verwaltung modifizieren kannst, wird dir wahrscheinlich auffallen, dass du dein eigenes Entity nicht in der Auswahl findest. Das kommt daher da die möglichen Entities nicht einfach alle sind sondern über&nbsp;[diese Funktion](https://github.com/shopware/shopware/blob/5.2/engine/Shopware/Bundle/AttributeBundle/Service/TypeMapping.php#L186) geladen werden. Hier müsstest du dein Entity entsprechend hinzufügen wenn du möchtest, dass dieses dort zur Verfügung steht

---

<div class="post-metadata">

**Author:** ![volkerstraehle](https://avatars.discourse-cdn.com/v4/letter/v/e47c2d/32.png) [@volkerstraehle](https://forum.shopware.com/u/volkerstraehle)\
**Post date:** [18. Februar 2019 um 17:03 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/7 "2019-02-18T17:03:40Z")

</div>

Wie erweitert man denn die Liste der verfügbaren Entitäten updatesicher? 8 Updates lang wird die Datei nicte angefaßt und wenn es dann doch soweit ist, dann weiß keiner mehr, dass man in shopware/engine/Shopware/Bundle/AttributeBundle/Service/TypeMapping.php die eigene Entität wieder hinzufügen muss.

---

<div class="post-metadata">

**Author:** ![shyim](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/shyim/32/7681_2.png) [@shyim](https://forum.shopware.com/u/shyim)\
**Post date:** [18. Februar 2019 um 18:54 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/8 "2019-02-18T18:54:26Z")

</div>

Schreib dir einen eigenen CompilerPass der den Container Parameter erweitert

---

<div class="post-metadata">

**Author:** ![volkerstraehle](https://avatars.discourse-cdn.com/v4/letter/v/e47c2d/32.png) [@volkerstraehle](https://forum.shopware.com/u/volkerstraehle)\
**Post date:** [19. Februar 2019 um 06:28 UTC](https://forum.shopware.com/t/neues-attribute-system-eigene-entity-fur-multiselect/37992/9 "2019-02-19T06:28:51Z")

</div>

Hast Du da ein Beispiel oder Doku-Links?

&nbsp;
