# Components Ordner einbinden schlägt fehl

**URL:** <https://forum.shopware.com/t/components-ordner-einbinden-schlagt-fehl/12006>\
**Category:** Shopware 3.5\
**Tags:** programming\
**Created:** [7. März 2013 um 12:16 UTC](https://forum.shopware.com/t/components-ordner-einbinden-schlagt-fehl/12006 "2013-03-07T12:16:18Z")\
**Posts on this page:** 2\
**Page:** 1

<div class="post-metadata">

**Author:** ![m.behr](https://avatars.discourse-cdn.com/v4/letter/m/9fc29f/32.png) [@m.behr](https://forum.shopware.com/u/m.behr)\
**Post date:** [7. März 2013 um 12:16 UTC](https://forum.shopware.com/t/components-ordner-einbinden-schlagt-fehl/12006/1 "2013-03-07T12:16:18Z")

</div>

Hallo Community, ich habe zZ leider ein Problem beim Einbinden eigener Klassen aus dem Components-Ordner. Ziel ist das Laden verschiedener Klassen aus eben diesem Ordner, um sie im Controller nutzen zu können. Anmerk.: Um den Spamfilter zu umgehen musste ich aus Shopware\_bla Shop ware machen. ` # Bootstrap.php / Auszuege private function subscribeOnEvents() { $this-\>subscribeEvent( 'Enlight\_Controller\_Dispatcher\_ControllerPath\_Backend\_Test', 'onGetControllerPathBackend' ); $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PreDispatch', 'onPreDispatch' ); } public static function onPreDispatch(Enlight\_Event\_EventArgs $args) { Shop ware\_Plugins\_Backend\_Test\_Bootstrap::log('onPreDispatch'); $path = dirname(\_\_FILE\_\_).'/Components/'; $namespace = 'Shopware\_Components'; if (!file\_exists($path)) throw new Enlight\_Exception('Path \< '.$path.' \> not found.'); else Shop ware\_Plugins\_Backend\_Test\_Bootstrap::log('Namespace-path ok.'); Shop ware\_Plugins\_Backend\_Test\_Bootstrap::log("Registering '$namespace' on $path"); Shop ware()-\>Loader()-\>registerNamespace($namespace,$path); } ` Soweit so gut. Test-Plugin laesst sich installieren, und läuft auch soweit, bekomme meine Log-Ausgaben angezeigt (laeuft in eine eigene Datei) ` # Controller class Shopware\_Controllers\_Backend\_Test extends Shopware\_Controllers\_Backend\_ExtJs { public function init() { $this-\>log('init start.'); $t = new Shopware\_Components\_Testcomp(); parent::init(); $this-\>log('init end.'); } } ` Auch hier wird in eine eigene Datei geloggt, funktioniert soweit, bei $t = new bla steigt PHP aber leider mit folgeneder Fehlermeldung aus: ` [Thu Mar 07 11:50:27 2013] [error] [client 192.168.1.70] PHP Fatal error: Class 'Shopware\_Components\_Testcomp' not found in /home/michael/Aptana\_Workspace/shopware-plugins/Backend/Test/Controllers/Backend/Test.php on line 27, referer: http://shopware.plauze.home.local/backend/ ` Die gesuchte Datei Components/Testcomp.php ` class Shopware\_Components\_Testcomp {} ` Nun ist es egal wie ich es drehe, was ich auch mache, er findet diese Datei einfach nicht … zum verrückt werden. Vielleicht habt ihr ja noch eine Idee, … meine letzte Möglichkeit wäre, die Pluginfunktionalität in ein Script auszulagern und Shopware über die API anzusprechen. Aber nur äußerst ungern… Vielen Dank im Voraus! Mit freundlichen Grüßen, Michael Behr

---

<div class="post-metadata">

**Author:** ![m.behr](https://avatars.discourse-cdn.com/v4/letter/m/9fc29f/32.png) [@m.behr](https://forum.shopware.com/u/m.behr)\
**Post date:** [7. März 2013 um 12:20 UTC](https://forum.shopware.com/t/components-ordner-einbinden-schlagt-fehl/12006/2 "2013-03-07T12:20:21Z")

</div>

der Spamfilter ist ja mal garstig …
