# Variablen aus Plugin Konfiguration in Einkaufswelten Element nutzen

**URL:** <https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333>\
**Category:** Programmierung\
**Created:** [26. April 2016 um 09:36 UTC](https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333 "2016-04-26T09:36:40Z")\
**Posts on this page:** 6\
**Page:** 1

<div class="post-metadata">

**Author:** ![so-dsgn](https://avatars.discourse-cdn.com/v4/letter/s/76d3ee/32.png) [@so-dsgn](https://forum.shopware.com/u/so-dsgn)\
**Post date:** [26. April 2016 um 09:36 UTC](https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333/1 "2016-04-26T09:36:40Z")

</div>

Hallo,

wie gesagt versuche ich gerade ein Plugin zu erstellen, dass unter anderem auch ein Widget für die Einkaufswelten bereitstellt. In dem Widget würde ich gerne auf die Variablen aus der Plugin-konfiguration (Backend-\>Pluginmanager) zugreifen.

Auszug aus der Bootstrap.php:

```
$this->subscribeEvent(
           'Shopware_Controllers_Widgets_Emotion_AddElement',
           'onEmotionAddElement'
        );

public function onEmotionAddElement(Enlight_Event_EventArgs $arguments)
    {
        $controller = $arguments->getSubject();
        $config = $this->Config();
        $view = $controller->View();
        $request = $controller->Request();
         
        if ($request->getControllerName() !== 'index'
            || $request->getModuleName() !== 'frontend'
            || !$view->hasTemplate()) {
            return;
        }
    
        $view->addTemplateDir($this->Path() . 'Views/');
        $view->assign('meineVariable', $this->Config()->get('meineVariable'));
    }

```

Wenn ich nun versuche die Variable in den Einkaufswelten auszugeben z.B:

```
     {$meineVariable} 

```

passiert garnichts… Die Einkaufswelten Elemente greifen ja eigentlich auf das $Data Array zu, muss/kann ich in der Bootstrap meine Variablen dem $Data Array zuweisen?

---

<div class="post-metadata">

**Author:** ![so-dsgn](https://avatars.discourse-cdn.com/v4/letter/s/76d3ee/32.png) [@so-dsgn](https://forum.shopware.com/u/so-dsgn)\
**Post date:** [27. April 2016 um 09:09 UTC](https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333/2 "2016-04-27T09:09:10Z")

</div>

Hier die Lösung falls mal jemand beim suchen drüber stolpert:

[http://forum.shopware.com/discussion/25047/artikel-durch-artikelnummer-in-einkaufswelt-plugin-einbinden/#Comment\_109764](http://forum.shopware.com/discussion/25047/artikel-durch-artikelnummer-in-einkaufswelt-plugin-einbinden/#Comment_109764)

Danke an @t2oh4e‍ !

So hängt man die eigenen Variablen aus der Plugin Konfiguration ans $Data Array:

```
$this->subscribeEvent(
           'Shopware_Controllers_Widgets_Emotion_AddElement',
           'onEmotionAddElement'
        );

public function onEmotionAddElement(Enlight_Event_EventArgs $arguments)
    {
        $controller = $arguments->getSubject();
        $config = $this->Config();
        $view = $controller->View();

        // das $Data Array
        $data = $arguments->getReturn();
               
        $view->addTemplateDir($this->Path() . 'Views/');
        $data['meineVariable'] = $config->meineVariable;
        return $data;
        
    }

```

Im Emotion Templates des Widgets kann man dann über:

```
{$Data.meineVariable}

```

darauf zugreifen.

---

<div class="post-metadata">

**Author:** ![t2oh4e](https://avatars.discourse-cdn.com/v4/letter/t/a5b964/32.png) [@t2oh4e](https://forum.shopware.com/u/t2oh4e)\
**Post date:** [27. April 2016 um 10:24 UTC](https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333/3 "2016-04-27T10:24:03Z")

</div>

Schön, dass alte Beiträge helfen. Und schön, dass du die Lösung nochmal rein geschrieben hast.&nbsp; ![Thumb-Up](https://europe1.discourse-cdn.com/flex013/uploads/shopware/original/1X/7fcda44f782696668a3d093569d15e88105769e1.png "Thumb-Up")

---

<div class="post-metadata">

**Author:** ![gl\_prophet](https://avatars.discourse-cdn.com/v4/letter/g/e5b9ba/32.png) [@gl\_prophet](https://forum.shopware.com/u/gl_prophet)\
**Post date:** [17. August 2016 um 11:45 UTC](https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333/4 "2016-08-17T11:45:01Z")

</div>

Super… genau danach habe ich gesucht. Top Antwort. Vielen Dank auch für das mitteilen der Lösung!&nbsp; ![Thumb-Up](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/thumb-up.png "Thumb-Up")

---

<div class="post-metadata">

**Author:** ![gl\_prophet](https://avatars.discourse-cdn.com/v4/letter/g/e5b9ba/32.png) [@gl\_prophet](https://forum.shopware.com/u/gl_prophet)\
**Post date:** [17. August 2016 um 11:46 UTC](https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333/5 "2016-08-17T11:46:46Z")

</div>

Hast du eventuell auch eine Lösung dafür, dass die Elemente nach der Neuinstallation nicht in der Einkaufswelt verschwinden? Hast ja vermutlich ähnliche Anforderungen gehabt wie ich.

---

<div class="post-metadata">

**Author:** ![so-dsgn](https://avatars.discourse-cdn.com/v4/letter/s/76d3ee/32.png) [@so-dsgn](https://forum.shopware.com/u/so-dsgn)\
**Post date:** [18. August 2016 um 10:18 UTC](https://forum.shopware.com/t/variablen-aus-plugin-konfiguration-in-einkaufswelten-element-nutzen/36333/6 "2016-08-18T10:18:57Z")

</div>

Der einfachste Weg ist hier die Dateien im Pluginordner einfach zu überschreiben und dann ohne Neuinstallation Cache leeren / Themes neu kompilieren. So bleiben die Elemente erhalten.

Der elegantere Weg wäre dein Plugin zu versionieren damit man über den Pluginmanager updaten kann.
