# Plugins und Attribute

**URL:** <https://forum.shopware.com/t/plugins-und-attribute/35796>\
**Category:** Programmierung\
**Created:** [6. April 2016 um 05:39 UTC](https://forum.shopware.com/t/plugins-und-attribute/35796 "2016-04-06T05:39:52Z")\
**Posts on this page:** 4\
**Page:** 1

<div class="post-metadata">

**Author:** ![Rednaxela](https://avatars.discourse-cdn.com/v4/letter/r/ad7895/32.png) [@Rednaxela](https://forum.shopware.com/u/Rednaxela)\
**Post date:** [6. April 2016 um 05:39 UTC](https://forum.shopware.com/t/plugins-und-attribute/35796/1 "2016-04-06T05:39:52Z")

</div>

Moin, wollte mal wissen wie andere bei der Entwicklung von Plugins vorgehen. Wenn ich z.B. zusätzliche Informationen bei Artikeln oder Kategorien habe, nehme ich hierfür die Attribute. Sagen wir mal ich nehme attr1, attr2 und attr3 für zusätzliche Artikeldetails. Dann finde ich noch ein paar schöne Plugins im Store, die mir auch noch gefallen. Es kann doch gut sein, dass ein Plugin dabei ist, welches auch auf die selben Attribute zugreift. Kann man im voraus solche Konflikte ausschliessen? Oder sehe ich hier Probleme, die es gar nicht gibt?

---

<div class="post-metadata">

**Author:** ![Simon\_Baumer](https://avatars.discourse-cdn.com/v4/letter/s/8e7dd6/32.png) [@Simon\_Baumer](https://forum.shopware.com/u/Simon_Baumer)\
**Post date:** [6. April 2016 um 06:14 UTC](https://forum.shopware.com/t/plugins-und-attribute/35796/2 "2016-04-06T06:14:42Z")

</div>

Hey Rednaxela,

du kannst selber Attribute hinzufügen 😉

In der Bootstrap.php:install():

```
public function install() {
    Shopware()->Models()->addAttribute('s_order_details_attributes', 'devprefix', 'yourplugin', 'datatype');
    Shopware()->Models()->generateAttributeModels(array('s_order_details_attributes'));

}

```

So kannst du direkt über das Model drauf zugreifen welches unter&nbsp; **var/cache/production\_\_REVISION\_\_/doctrine/attributes&nbsp;** abgelegt wird.

Mit freundlichen Grüßen,  
Simon Bäumer 😉

---

<div class="post-metadata">

**Author:** ![Rednaxela](https://avatars.discourse-cdn.com/v4/letter/r/ad7895/32.png) [@Rednaxela](https://forum.shopware.com/u/Rednaxela)\
**Post date:** [6. April 2016 um 06:43 UTC](https://forum.shopware.com/t/plugins-und-attribute/35796/3 "2016-04-06T06:43:33Z")

</div>

Wunderbar, dankeschön. Ich hatte immer im Hinterkopf, dass man keine Datenbankfelder hinzufügen sollte, dass dadurch z.b. Artikel duplizieren nen Fehler wirft. Vielleicht schwirrt mir der Gedanke noch aus einem anderen Grund im Kopp rum ![Wink](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/b3785da0cbf2c8566cb535dcf55b2730b5224899.png "Wink")

---

<div class="post-metadata">

**Author:** ![sschreier](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/sschreier/32/23296_2.png) [@sschreier](https://forum.shopware.com/u/sschreier)\
**Post date:** [6. April 2016 um 07:00 UTC](https://forum.shopware.com/t/plugins-und-attribute/35796/4 "2016-04-06T07:00:20Z")

</div>

> [@Rednaxela schrieb:](https://forum.shopware.com/profile/6813/Rednaxela "Rednaxela")
> 
> Wunderbar, dankeschön. Ich hatte immer im Hinterkopf, dass man keine Datenbankfelder hinzufügen sollte, dass dadurch z.b. Artikel duplizieren nen Fehler wirft. Vielleicht schwirrt mir der Gedanke noch aus einem anderen Grund im Kopp rum ![Wink](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wink.png "Wink")

Hallo,

du darfst oder solltest auch keine Datenbankfelder den „primären“ Tabellen hinzufügen, das stimmt auch so. Für neue Felder soll man genau deshalb auch die Attribut-Tabellen nutzen (wie von Simon erwähnt). Wenn es keine passende Attribut-Tabelle gibt, kann man den Bereich (vorerst) nicht erweitern.

Grund dafür ist, dass dem „Model“ der primären Tabelle ja deine durch SQL hinzugefügte Spalte gar nicht bekannt ist - somit kann dann auch nur ein Fehler geworfen werden. Bei den Attribut-Tabellen hast du dazu beispielsweise die Funktion:

```
Shopware()->Models()->generateAttributeModels(array('s_order_details_attributes'));

```

, die die neue Spalte dem Model ergänzt (hier bspw. der Order-Details-Attribut-Tabelle).

Beste Grüße

Sebastian
