# Erweiterung eines Models ohne Attribut-Tabelle

**URL:** <https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383>\
**Category:** Programmierung\
**Created:** [10. Juni 2016 um 13:15 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383 "2016-06-10T13:15:25Z")\
**Posts on this page:** 8\
**Page:** 1

<div class="post-metadata">

**Author:** ![dfrerich](https://avatars.discourse-cdn.com/v4/letter/d/ce7236/32.png) [@dfrerich](https://forum.shopware.com/u/dfrerich)\
**Post date:** [10. Juni 2016 um 13:15 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/1 "2016-06-10T13:15:25Z")

</div>

Hallo Zusammen,

wie kann ich ein Model ohne Attributtabelle um weitere Datenbankfelder erweitern?

Es geht mir um ein Model eines Communityplugins, das wir einsetzen.

Beste Grüße  
David

---

<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:** [10. Juni 2016 um 13:23 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/2 "2016-06-10T13:23:12Z")

</div>

> [@dfrerich schrieb:](https://forum.shopware.com/profile/24001/dfrerich "dfrerich")
> 
> Hallo Zusammen,
> 
> wie kann ich ein Model ohne Attributtabelle um weitere Datenbankfelder erweitern?
> 
> Es geht mir um ein Model eines Communityplugins, das wir einsetzen.
> 
> Beste Grüße  
> David

Hallo,

kurz und knapp: geht nicht, neue Felder kann man nur bei den Tabellen hinzufügen, die Attribut-Tabellen besitzen. Alternativ müsste man eben das andere Plugin umschreiben und dahingehend anpassen - wobei das natürlich nicht updatesicher wäre. Oder einfach den Plugin-Hersteller anfragen, ob er das zusätzliche Feld selbst integrieren kann.

Beste Grüße

Sebastian

---

<div class="post-metadata">

**Author:** ![Michael\_px](https://avatars.discourse-cdn.com/v4/letter/m/439d5e/32.png) [@Michael\_px](https://forum.shopware.com/u/Michael_px)\
**Post date:** [29. Juni 2016 um 13:31 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/3 "2016-06-29T13:31:51Z")

</div>

Hallo Zusammen,

ich sag jetz mal ganz vorsichtig doch es geht. Jedenfalls bin ich da gerade dran…&nbsp; ![Halo](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/halo.png "Halo")  
Ich hab erfolgreich die s\_article\_configurator\_groups erweitert ohne das Eltern-Model „Group“ komplett zu über schreiben.

Was ich bis jetzt noch nicht hinbekommen habe ist mittels&nbsp;

```
$tool->getUpdateSchema($classes);

```

die Datenbanktabelle&nbsp;zu erweitern. Deswegen mache ich diesen Schritt mit „Plain SQL“&nbsp; ![Gasp](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/gasp.png "Gasp")

Gruß  
Michael

---

<div class="post-metadata">

**Author:** ![Michael\_px](https://avatars.discourse-cdn.com/v4/letter/m/439d5e/32.png) [@Michael\_px](https://forum.shopware.com/u/Michael_px)\
**Post date:** [29. Juni 2016 um 13:42 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/4 "2016-06-29T13:42:09Z")

</div>

Ups vergessen zu sagen wie ich es gemacht habe.&nbsp; ![Lips-are-sealed](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/lips-are-sealed.png "Lips-are-sealed")

Ich habe das Model wie folgt erweitert  
&nbsp;

```
namespace 
/**
 * @ORM\Entity
 * @ORM\Table(name="s_article_configurator_groups")
 */
class Group extends \Shopware\Models\Article\Configurator\Group
{

[...]

}

```

&nbsp;und natürlich in die Bootstrap.php

```
public function afterInit()
{
   $this->registerCustomModels();
   parent::afterInit(); 
}

```

WICHTIG: Man muss die Repository Methoden anpassen (Hook)

Gruß

Michael

&nbsp;

P.S: Bitte dran denken ich bin noch dran und rein theoretisch kann noch alles zusamenfallen&nbsp; ![Halo](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/halo.png "Halo")

---

<div class="post-metadata">

**Author:** ![dfrerich](https://avatars.discourse-cdn.com/v4/letter/d/ce7236/32.png) [@dfrerich](https://forum.shopware.com/u/dfrerich)\
**Post date:** [29. Juni 2016 um 15:32 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/5 "2016-06-29T15:32:57Z")

</div>

Hallo Michael,

danke für den Input, ich habe es mittlerweile auch “geschafft”.  
Es ist aber schon recht umständlich und nicht ganz optimal.

Bgzl deiner Frage zu Datenbank Updaten:

```
public function install()
{
    $this->updateSchema();
}

private function updateSchema()
{
    $em = $this->getEntityManager();
    $schemaTool = new Doctrine\ORM\Tools\SchemaTool($this->getEntityManager());
    $classes = array(
        $em->getClassMetadata('')
    );

    $schemaTool->updateSchema($classes, true);
}

```

&nbsp;

---

<div class="post-metadata">

**Author:** ![Michael\_px](https://avatars.discourse-cdn.com/v4/letter/m/439d5e/32.png) [@Michael\_px](https://forum.shopware.com/u/Michael_px)\
**Post date:** [29. Juni 2016 um 21:08 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/6 "2016-06-29T21:08:12Z")

</div>

Hey dfrerich,

cool…&nbsp; ![Wearing-Sunglasses](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/wearing-sunglasses.png "Wearing-Sunglasses")  
Ja, da hast du vollkommen recht…

Super, vielen Dank zurück. Das werde ich später ausprobieren.

Gruß  
Michael&nbsp;

---

<div class="post-metadata">

**Author:** ![KMUdo](https://avatars.discourse-cdn.com/v4/letter/k/f4b2a3/32.png) [@KMUdo](https://forum.shopware.com/u/KMUdo)\
**Post date:** [10. August 2016 um 11:22 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/7 "2016-08-10T11:22:24Z")

</div>

Hallo zusammen

Momentan stehen wir an derselben Stelle.

Wir möchten im Backend die Konfigurationseinstellungen der Varianten-Gruppe mit einer neuen Checkbox versehen.  
Die Checkbox konnten wir bereits im Backend hinzufügen und durch eure Hilfe können wir nun auch via Bootstrap das Zusatzfeld in die Datenbanktabelle&nbsp; `s_article_configurator_groups` einfügen.

**Nun haben wir aber folgendes Problem:**  
Wenn wir die Checkbox im Backend aktivieren und den Speicher-Button betätigen, ändert sich der Wert in der Datenbank nicht.  
D.h. Der Wert der Checkbox wird nicht an die Datenbank übermittelt.  
&nbsp;

**Aufbau der Checkbox:**

```
var kmudoToggle = Ext.create('Ext.form.field.Checkbox', {
        name: 'kmudodropdownactive',
        inputValue: '1',
        uncheckedValue: '0',
        fieldLabel: 'Variante mit Bild'
});

```

**Unsere Erweiterung des Models:**

```
//{block name="backend/article/model/configurator_group/fields" append}
	{ name: 'kmudodropdownactive', type: 'int' },
//{/block}

```

In der Netzwerkanalyse sehen wir aber in der saveConfiguratorGroup den korrekten Wert der Checkbox. (Wenn Checkbox aktiv = Wert 1 / wenn Checkbox nicht aktiv = Wert 0)

Wisst ihr vielleicht an was es liegen könnte?

&nbsp;

Beste Grüsse

KMUdo AG

---

<div class="post-metadata">

**Author:** ![KMUdo](https://avatars.discourse-cdn.com/v4/letter/k/f4b2a3/32.png) [@KMUdo](https://forum.shopware.com/u/KMUdo)\
**Post date:** [12. August 2016 um 11:46 UTC](https://forum.shopware.com/t/erweiterung-eines-models-ohne-attribut-tabelle/37383/8 "2016-08-12T11:46:59Z")

</div>

Hallo Zusammen

Weiss niemand wie im Backend die Backend Templates angelegt werden sodass ein Wert in die Datenbank gespeichert werden kann?  
Muss man ein Controller oder auch ein Store anlegen?

Freundliche Grüsse

KMUdo AG
