# Plugin-Konfiguration variabelen speichern auf install

**URL:** <https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025>\
**Category:** Programmierung\
**Created:** [6. September 2018 um 13:56 UTC](https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025 "2018-09-06T13:56:42Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![Sition](https://avatars.discourse-cdn.com/v4/letter/s/df705f/32.png) [@Sition](https://forum.shopware.com/u/Sition)\
**Post date:** [6. September 2018 um 13:56 UTC](https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025/1 "2018-09-06T13:56:42Z")

</div>

&nbsp;

Hallo!

Wir möchten die Plugin-Konfiguration beim Installieren des Plugins vorab füllen.

Zum Beispiel wird im Installer ein neues Media&nbsp;album erstellt. Die entsprechende mediaID sollte direkt als Parameter von der Plugin-Konfiguration gespeichert werden.

Ist das möglich? Wenn das so ist, wie?

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [6. September 2018 um 14:00 UTC](https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025/2 "2018-09-06T14:00:41Z")

</div>

Hallo,

Du kannst über “value” einen Default Wert setzen:&nbsp;[Plugin configuration](https://developers.shopware.com/developers-guide/plugin-configuration/#value)

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann

---

<div class="post-metadata">

**Author:** ![Sition](https://avatars.discourse-cdn.com/v4/letter/s/df705f/32.png) [@Sition](https://forum.shopware.com/u/Sition)\
**Post date:** [6. September 2018 um 14:22 UTC](https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025/3 "2018-09-06T14:22:24Z")

</div>

```
 Hallo Michael, uns ist der Standardwert bekannt. Der Standardwert hängt jedoch von der mediaID ab, die dynamisch über das Installationsprogramm erstellt wird. Also suchen wir nach einer Lösung, die das im Installer macht: 1. Medienalbum erstellen (mediaAlbumID wird zurückgegeben) 2. Öffnen Sie die Plugin-Konfiguration. 3. Platziere MediaAlbumID in Config 4. Speichern Sie die Konfiguration.
```

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [6. September 2018 um 14:38 UTC](https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025/4 "2018-09-06T14:38:35Z")

</div>

Hallo,

die Plugin Konfiguration wird vor dem Aufruf der install Methode angelegt. D.h. Du kannst dir in der install Methode die Config Form holen und den Wert entsprechend setzen.&nbsp;

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann

---

<div class="post-metadata">

**Author:** ![Sition](https://avatars.discourse-cdn.com/v4/letter/s/df705f/32.png) [@Sition](https://forum.shopware.com/u/Sition)\
**Post date:** [7. September 2018 um 08:21 UTC](https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025/5 "2018-09-07T08:21:53Z")

</div>

Hallo Michael, danke für die input.

Haben Sie ein kurzes Beispiel dafür?  
Normalerweise verwenden wir den folgenden Code zum Abrufen von Konfigurationsdaten:

```
 // get plugin with shop in scope _$pluginConfig = Shopware()-\>Container()-\>get('shopware.plugin.cached\_config\_reader')-\>getByPluginName( 'MyPlugin', Shopware()-\>Container()-\>get('Shop') );__$my\_plugin\_variabel = $pluginConfig['my\_plugin\_variabel'] );_ Wie können wir die aktualisierten Konfigurationsdaten speichern? _$pluginConfig['my\_plugin\_variabel'] = 'new\_variable'; $pluginConfig-\>write();_

```

scheint nicht zu funktionieren

&nbsp;

---

<div class="post-metadata">

**Author:** ![Michael\_Telgmann](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/michael_telgmann/32/20289_2.png) [@Michael\_Telgmann](https://forum.shopware.com/u/Michael_Telgmann)\
**Post date:** [7. September 2018 um 11:53 UTC](https://forum.shopware.com/t/plugin-konfiguration-variabelen-speichern-auf-install/55025/6 "2018-09-07T11:53:50Z")

</div>

Hallo,

mit deinem Beispiel Code holst du dir ja schon die passenden Werte von der Konfiguration.  
Mein Ansatz war jetzt eher, sich das Doctrine Model der Plugin Configuration zu holen, um dann den Value als Default zu setzen, da du ja erst später weißt, wie die Album ID ist.&nbsp;  
Hier mal ein bisschen ungetester Code, der hoffentlich zeigt, was ich meine&nbsp; ![Smile](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/bac5f5766b6a20565a8fb995345b4e41d24daac0.png "Smile")

```
$pluginId = $this->container->get('dbal_connection')->createQueryBuilder()
    ->select('id')
    ->from('s_core_plugins')
    ->where('name = :pluginName')
    ->setParameter('pluginName', $this->getName())
    ->execute()->fetchColumn();

$formRepo = $this->container->get('models')->getRepository(\Shopware\Models\Config\Form::class);
/** @var \Shopware\Models\Config\Form $formModel */
$formModel = $formRepo->findOneBy(['pluginId' => $pluginId]);

$formElementRepo = $this->container->get('models')->getRepository(\Shopware\Models\Config\Element::class);
/** @var \Shopware\Models\Config\Element $formElement */
$formElement = $formRepo->findOneBy(['formId' => $formModel->getId(), 'name' => 'your_config_element_name']);

$formElement->setValue(123); // media ID
$this->container->get('models')->flush($formElement);

```

Viele Grüße aus Schöppingen

![cool](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/86c57fbace799dd4eb1f1b8a2d3bdc1733f0aea1.png "cool")&nbsp;Michael Telgmann
