# Doku zum neuen Plugin System

**URL:** <https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130>\
**Category:** Programmierung\
**Created:** [12. Juli 2016 um 08:16 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130 "2016-07-12T08:16:42Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![Ancillius](https://avatars.discourse-cdn.com/v4/letter/a/e9bcb4/32.png) [@Ancillius](https://forum.shopware.com/u/Ancillius)\
**Post date:** [12. Juli 2016 um 08:16 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/1 "2016-07-12T08:16:42Z")

</div>

Hallo,

ich steige gerade in das Entwickeln von Shopware Plugins ein und versuche mich gerade durch die Dokus zu schlagen. Mein Problem dabei ist, dass ich gern das neue 5.2 System verwenden möchte, da ich aus einer Symfony Welt komme und ich das gefühl habe, dass die Plugins für den Custom Ordner mit der&nbsp;abstract class Plugin aus dem&nbsp;Shopware\Components Namespace näher an Symfony dran ist.&nbsp;

Leider sind die Docs hier offenbar alle noch auf dem “alten” System (nenne ich jetzt mal Bootstrap.php System). Ich möchte nur ungern zwei Systeme gleichzeitig fahren. Daher stellen sich mehrere Fragen:

Wie registriere ich nun korrekt einen neuen Controller aus dem Plugin und wie verwende ich den View richtig? Beispiel:

* * *

```
 class SaltMessageOfTheDay extends \Shopware\Components\Plugin { ... public function addToTemplateDir() { /\*\* @var Enlight\_Template\_Manager $view \*/ $view = Shopware()-\>Container()-\>get('template'); $view-\>addTemplateDir( \_\_DIR\_\_ . '/Resources/views' ); $view-\>assign('slogan', $this-\>getSlogan()); } 

```

* * *

Aus dem alten SwagSloganOfTheDay Tutorial scheint so nicht zu funktieren. Das Template in&nbsp;./custom/plugins/SaltMessageOfTheDay/Resources/views/frontend/index/index.tpl wird nicht geladen (entspricht grob dem aus dem Tutorial, natürlich ohne die nicht assigned Teile).

```
 {extends file="parent:frontend/index/index.tpl"} {block name="frontend\_index\_navigation\_categories\_top\_include" prepend} 
{$slogan}
 {/block}

```

Im Grunde so…

Ähnlich gehts mir mit den Controllern:

public function install() { $this-\>registerController(‘frontend’, ‘test’); }

gibt es im neuen $this context auch nicht mehr.&nbsp;

Ebenso gibt es $this-\>Config() nicht mehr.

Wie “konvertiere” ich am besten die Tutorials ins neue System?

---

<div class="post-metadata">

**Author:** ![Benjamin\_Cremer](https://avatars.discourse-cdn.com/v4/letter/b/a8b319/32.png) [@Benjamin\_Cremer](https://forum.shopware.com/u/Benjamin_Cremer)\
**Post date:** [12. Juli 2016 um 08:30 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/2 "2016-07-12T08:30:03Z")

</div>

Hallo,

die Dokumentation zum neuem Plugin System findest du hier: [https://developers.shopware.com/developers-guide/plugin-system/](https://developers.shopware.com/developers-guide/plugin-system/).  
Teile davon sind noch „Work in Progres“.

Es fehlen im neuem System noch ein paar Convienece Methoden. Die Konfiguration kannst du folgendermaßen auslesen:

```
$configReader = $this->container->get('shopware.plugin.config_reader');
$pluginConfig = $configReader->getByPluginName($this->getName());

$view->assign('sloganSize', $pluginConfig['font-size']);
$view->assign('italic', $pluginConfig['italic']);
$view->assign('slogan', $this->getSlogan());

```

Viele Grüße,  
Benjamin Cremer&nbsp; ![Shopware](https://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "Shopware")

---

<div class="post-metadata">

**Author:** ![Ancillius](https://avatars.discourse-cdn.com/v4/letter/a/e9bcb4/32.png) [@Ancillius](https://forum.shopware.com/u/Ancillius)\
**Post date:** [12. Juli 2016 um 08:40 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/3 "2016-07-12T08:40:36Z")

</div>

Vielen Dank für die fixe Antwort.&nbsp;

Ja besonders die Convinience Methoden bereiten mir Probleme beim Umsetzen. Wäre toll wenn da noch eine Doku/Guide zu käme.

---

<div class="post-metadata">

**Author:** ![Ancillius](https://avatars.discourse-cdn.com/v4/letter/a/e9bcb4/32.png) [@Ancillius](https://forum.shopware.com/u/Ancillius)\
**Post date:** [12. Juli 2016 um 08:48 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/4 "2016-07-12T08:48:04Z")

</div>

Achso, was wäre jetzt der richtige Weg einen Controller zu registrieren?

---

<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:** [12. Juli 2016 um 10:41 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/5 "2016-07-12T10:41:53Z")

</div>

Hey,

hier kannst du dir anschauen wie ein Controller registiert werden kann 😉

> **[FriendsOfShopware/FroshProfiler](https://github.com/FriendsOfShopware/FroshProfiler)**
>
> Profiling for Shopware. Contribute to FriendsOfShopware/FroshProfiler development by creating an account on GitHub.

Grüße,  
Simon

---

<div class="post-metadata">

**Author:** ![Ancillius](https://avatars.discourse-cdn.com/v4/letter/a/e9bcb4/32.png) [@Ancillius](https://forum.shopware.com/u/Ancillius)\
**Post date:** [12. Juli 2016 um 11:31 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/6 "2016-07-12T11:31:34Z")

</div>

Ok, also wird hier in der services.xml der Controller eingebunden.&nbsp;

Da kommt mir gleich die nächste Frage:  
Die services.xml ist ja komplett Symfony2. Allerdings nicht wie dort üblich im /app/config/services.xml sondern hier im /Resources Ordner.&nbsp;

Versteht Shopware auch das yml Format an dieser Stelle (wäre toll… ich mag yaml)?

---

<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:** [12. Juli 2016 um 11:34 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/7 "2016-07-12T11:34:12Z")

</div>

Hey Ancillius,

Shopware versteht an der Stelle nur XML und es ist momentan auch nichts anderes geplant. 😉  
Verbesserungsvorschläge kannst du jederzeit gerne über den Issuetracker anlegen:&nbsp;[https://issues.shopware.com/](https://issues.shopware.com/)

BTW: Der Controller wird trotzdessen noch über ein Event registriert nur ist das hier in einem Subscriber welcher dann in der services.xml registriert wird&nbsp;(falls du es übersehen haben solltest):&nbsp;[https://github.com/shyim/shopware-profiler/blob/master/Subscriber/ProfilerController.php](https://github.com/shyim/shopware-profiler/blob/master/Subscriber/ProfilerController.php)

Viele Grüße,  
Simon

---

<div class="post-metadata">

**Author:** ![TeichDatensysteme](https://avatars.discourse-cdn.com/v4/letter/t/43a26b/32.png) [@TeichDatensysteme](https://forum.shopware.com/u/TeichDatensysteme)\
**Post date:** [12. Juli 2016 um 13:46 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/8 "2016-07-12T13:46:03Z")

</div>

Mh, was ist denn jetzt die Empfehlung mit dem Plugin-System? …

Setzt man neue Plugins klassisch auf so wie “grob” ab Shopware 4, oder ist jetzt die Devise in dem 5.2er Stil Plugins aufzusetzen?  
Weil, abwärtskompatibel ist das ja alles nicht, bzw. selbst die Doku ist ja noch “nicht einmal” abgeschlossen … ?

Ich bin etwas verwirrt.

Schöne Grüße,  
Niklas

---

<div class="post-metadata">

**Author:** ![TAB10](https://avatars.discourse-cdn.com/v4/letter/t/c68b51/32.png) [@TAB10](https://forum.shopware.com/u/TAB10)\
**Post date:** [9. September 2017 um 18:37 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/9 "2017-09-09T18:37:22Z")

</div>

…push…  
&nbsp;

Eine verständlichere und “aktualisierte” Doku des neuen Pluginsystems wäre wünschenswert.  
Explizit für eine Migration von dem alten Plugins System.

Ist für mich persönlich (Frontend-Entwicklung) echt ein Krampf das Ganze.

Danke und Gruß

---

<div class="post-metadata">

**Author:** ![brettvormkopp](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/brettvormkopp/32/7788_2.png) [@brettvormkopp](https://forum.shopware.com/u/brettvormkopp)\
**Post date:** [9. September 2017 um 20:50 UTC](https://forum.shopware.com/t/doku-zum-neuen-plugin-system/38130/10 "2017-09-09T20:50:16Z")

</div>

> Eine verständlichere und „aktualisierte“ Doku des neuen Pluginsystems wäre wünschenswert.

Äh Sorry @thom‍ , aber laut Shopware Newsletter sind Influencer (luftnummern)&nbsp;und Jungunternehmer (die&nbsp;keine sind),&nbsp;etwas wichtiger als eine lesenswerte Doku.&nbsp;Wer braucht schon neue Plugins? 😉
