# 5.2 Pluginstruktur - service.xml erzeugt Fehler 500 - Frontend und Backend werden nicht angezeigt

**URL:** <https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388>\
**Category:** Programmierung\
**Created:** [8. August 2017 um 08:49 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388 "2017-08-08T08:49:28Z")\
**Posts on this page:** 14\
**Page:** 1

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [8. August 2017 um 08:49 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/1 "2017-08-08T08:49:28Z")

</div>

Hallo zusammen,

ich taste mich gerade an die neuen Plugin-Struktur heran.

Dabei habe ich folgende Struktur:

\_prefixPluginName  
&nbsp;&nbsp;&nbsp; |\_\_ Resources  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – config.xml  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – services.xml  
&nbsp;&nbsp;&nbsp; |\_\_ Subscriber  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – TestSubscriber.php  
&nbsp;&nbsp;&nbsp; – plugin.png  
&nbsp;&nbsp;&nbsp; – plugin.xml  
&nbsp;&nbsp;&nbsp; – prefixPluginName.php

&nbsp;

**Resources/services.xml** - Zeile \<tag …\> erzeugt einen Fehler, sodass weder Backend noch Frontend geladen werden.

Subscriber/SubscriberDatei.php

```
 'extendsFrontend',
			'Theme_Compiler_Collect_Plugin_Less' => 'onCollectLessFiles',
			'Theme_Compiler_Collect_Plugin_Javascript' => 'onCollectJsFiles'
		];
	}

	public function extendsFrontend(\Enlight_Event_EventArgs $args)
	{
		/** @var Enlight_Template_Manager $view */
		$view = $args->getSubject()->View();
		$view->addTemplateDir($this->getPath() . '/Resources/Views');

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

		
	}
}

```

&nbsp;

Ich habe die service.xml anhand der Shopware Doku erstellt.

Bin mir aber nicht ganz im klaren, was ich da eigentlich mache… Gibt es dazu irgendwie noch weitere Dokumentationen?

Was gebe ich bei _id_ ein, was bei den _arguments_ usw. ? phpStorm hat mir die _class_ immerhin verknüpft, sodass ich der Meinung bin, dass dies stimmen sollte.  
&nbsp;

&nbsp;

---

<div class="post-metadata">

**Author:** ![IFF](https://avatars.discourse-cdn.com/v4/letter/i/c37758/32.png) [@IFF](https://forum.shopware.com/u/IFF)\
**Post date:** [8. August 2017 um 09:41 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/2 "2017-08-08T09:41:12Z")

</div>

Was steht denn im error.log ?

---

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [8. August 2017 um 10:00 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/3 "2017-08-08T10:00:26Z")

</div>

Oh, da hab ich noch gar nicht hineingeschaut, weil ich ich bei einem php-Fehler nicht davon ausgegangen bin, dass dort mehr drin stehen würde als in der Konsole.  
Das muss ich nachreichen.

---

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [8. August 2017 um 16:20 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/4 "2017-08-08T16:20:15Z")

</div>

Hallo @IFF‍

anbei die Fehlermeldung:&nbsp;Fatal error: Uncaught ReflectionException: Class prefixPluginName\Subscriber\TestSubscriber does not exist in /home/vagrant/www/sw-plugins/engine/Shopware/Components/DependencyInjection/Compiler/EventSubscriberCompilerPass.php on line 64

&nbsp;

---

<div class="post-metadata">

**Author:** ![IFF](https://avatars.discourse-cdn.com/v4/letter/i/c37758/32.png) [@IFF](https://forum.shopware.com/u/IFF)\
**Post date:** [9. August 2017 um 06:15 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/5 "2017-08-09T06:15:03Z")

</div>

> Class prefixPluginName\Subscriber\TestSubscriber does not exist

Nun ja, der Fehler steht da 🙂

---

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [9. August 2017 um 06:30 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/6 "2017-08-09T06:30:23Z")

</div>

Verstehe ich die Service.xml dann irgendwie falsch? Woher kann ich wissen was für id, class, arguments und co eingetragen werden soll?! Da geht aus der Doku nicht hervor…

Dachte halt es stimmt so, da ein Klick in phpStorm auf die class prefixPluginName\Subscriber\TestSubscriber mich zu Subscriber/SubscriberDatei.php führt… und in der Doku und Plugins, die ich mir angesehen habe, ist es auch so…

---

<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:** [9. August 2017 um 06:42 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/7 "2017-08-09T06:42:05Z")

</div>

Hallo zusammen,

die services.xml Datei wird für eine Symfony Komponente gebraucht, die wir in Shopware benutzen: den Service-Container. Daher würde ich zuerst dir die Symfony Doku empfehlen.&nbsp;[http://symfony.com/doc/2.8/service\_container.html](http://symfony.com/doc/2.8/service_container.html) (achte darauf, dass du die richtige Smyfony Version wählst **2.8** &nbsp;und außerdem die XML Beispiele)&nbsp;

Wenn du nun dir einen eigenen Service definierst, oder eben einen neuen Subscriber, kannst du dir die ID selber aussuchen. Bei class muss natürlich der Klassenname inkl. Namespace eingetragen werden. Der tag definiert in deinem Beispiel, dass es sich um einen Event-Subscriber handelt.&nbsp;  
Arguments sind Abhängigkeiten deiner Klasse, die du im Konstruktur deines Services definierst.&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:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [9. August 2017 um 07:04 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/8 "2017-08-09T07:04:20Z")

</div>

Okay, ich komme eigentlich aus der Frontend-Welt (HTML, CSS, LESS, jQuery, Smarty und Co.) daher sind symphony, doctrine und co. komplettes Neuland für mich. Habe in der Regel damit auch sehr wenig Berührungspunkte - in diesem Fall eben schon.

Die ID habe ich mir auch frei ausgesucht. Die CLASS verweist aber (meiner Meinung nach) auf die korrekte Datei mit korrekter Klasse und korrektem Namespace. Sieht phpStorm doch auch so, oder würde er mich sonst auch in der service.xml mit Klick auf die Klasse auf die richtige Datei weisen? Woher dann der Fehler? Übersehe ich etwas?

Hier nochmal die relevanten Code-Zeilen:

**service.xml**

**Subscriber/SubscriberDatei.php**

&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:** [9. August 2017 um 08:13 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/9 "2017-08-09T08:13:47Z")

</div>

wie sieht denn deine ‘prefixPluginName.php’ Datei aus?

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:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [9. August 2017 um 08:59 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/10 "2017-08-09T08:59:36Z")

</div>

&nbsp;Im Grunde ziemlich leer 😉

&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:** [9. August 2017 um 09:49 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/11 "2017-08-09T09:49:21Z")

</div>

Hallo,

ich habe mal folgendes bei mir ausprobiert:

prefixPluginName  
&nbsp;&nbsp;&nbsp; |\_\_ Resources  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – services.xml  
&nbsp;&nbsp;&nbsp; |\_\_ Subscriber  
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; – TestSubscriber.php  
&nbsp;&nbsp;&nbsp; – prefixPluginName.php

Folgende Inhalte:  
prefixPluginName.php

services.xml

TestSubscriber.php

```
 'extendsFrontend',
        ];
    }

    public function extendsFrontend(\Enlight_Event_EventArgs $args)
    {
        echo '';
        print_r("hallo");
        echo '';
        exit();
    }
}

```

Funktioniert bei mir tadelos. An welcher Stelle genau, tritt denn dein Problem auf? Hast du den kompletten Cache einmal geleert, nach der Installation?

Viele Grüße aus Schöppingen

![cool](http://forum.shopware.com/plugins/CKEditor/plugins/smiley/images/shopware.png "cool")&nbsp;Michael Telgmann

---

<div class="post-metadata">

**Author:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [9. August 2017 um 10:04 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/12 "2017-08-09T10:04:40Z")

</div>

Nach der Installation kann ich keinen Cache mehr leeren, da weder Frontend noch Backend angezeigt werden. Ich werde nochmals alle Dateien prüfen.

---

<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:** [9. August 2017 um 11:08 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/13 "2017-08-09T11:08:09Z")

</div>

Hi,

du kannst den Cache per CLI Command löschen. Außerdem empfehle ich dir folgenden Link zu beachten und einzubauen:&nbsp;[http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen\_detail\_1880.html#Frontend\_Error\_Reporter](http://community.shopware.com/Fehlermeldungen-in-Shopware-debuggen_detail_1880.html#Frontend_Error_Reporter)  
Dadurch siehst du direkt die PHP Fehler die auftreten.

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:** ![mdsw](https://avatars.discourse-cdn.com/v4/letter/m/94ad74/32.png) [@mdsw](https://forum.shopware.com/u/mdsw)\
**Post date:** [10. August 2017 um 06:33 UTC](https://forum.shopware.com/t/5-2-pluginstruktur-service-xml-erzeugt-fehler-500-frontend-und-backend-werden-nicht-angezeigt/47388/14 "2017-08-10T06:33:16Z")

</div>

Ich kann meinen Fehler nicht finden. Letztlich habe ich alles neu gemacht. Im phpStorm hatte sich auch das Fileicon meines Subscribers nicht von dem php-Fileicon zum c-icon gewechselt. Irgendwas muss da nicht gepasst haben. Ich habe es einfach nochmal nachgebaut und bekomme jetzt keinen Fehler mehr.
