# Eigenen Controller für eigene Landingpage erstellen

**URL:** <https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558>\
**Category:** Programmierung\
**Created:** [14. August 2017 um 13:04 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558 "2017-08-14T13:04:50Z")\
**Posts on this page:** 7\
**Page:** 1

<div class="post-metadata">

**Author:** ![mkv](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@mkv](https://forum.shopware.com/u/mkv)\
**Post date:** [14. August 2017 um 13:04 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558/1 "2017-08-14T13:04:50Z")

</div>

Hallo,

ich bin neu in der Shopware-Programmierung und auch recht frisch in PHP, versuche mich aber dennoch an einem Plugin. Doch leider scheitere ich direkt ganz am Anfang, beim registrieren eines eigenen Controllers. Ich würde gerne, dass wenn man _shop.tld/test/_ oder von mir aus auch _shop.tld/frontend/test_ aufruft ein entsprechender Controller geladen wird, der ein eigenes Template anzeigt. Dieser Fall ist glücklicherweise direkt in den Tutorials von Shopware abgebildet, leider funktioniert es bei mir nicht. Weder in der \< 5.2 Konfiguration, noch in der neueren.

Beispiel:

Das Plugin „TestPlugin“ (_/custom/plugins/TestPlugin/TestPlugin.php_):

```
 'registerController',
        ];
    }

    public function registerController(\Enlight_Event_EventArgs $args)
    {
        return $this->getPath() . "/Controllers/Frontend/Test.php";
    }
}

```

Der Controller (_/custom/plugins/TestPlugin/Controllers/Frontend/Test.php_):

Bis auf die plugin.xml und plugin.png besteht das Plugin nur aus den oberen beiden Dateien.

Rufe ich nun&nbsp;_shop.tld/test/_ auf&nbsp;wird die Startseite des Shops geladen, statt „Hello World“ angezeigt. Ich habe das ganze In Shopware 5.2 (aktiver Shop) sowie in 5.3.1 (saubere Installation der Community Edition) getestet, und es klappt nicht. Auch nicht mit der Auto-Registrierung. So wie es aussieht wird das Event _Enlight\_Controller\_Dispatcher\_ControllerPath\_Frontend\_Test_&nbsp;nie gefeuert, da die Methode&nbsp;_registerController_ nicht ausgeführt wird (sehe ich wenn ich z.B. ein error\_log mache)

Hilfe wäre echt super!

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [14. August 2017 um 13:14 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558/2 "2017-08-14T13:14:08Z")

</div>

Hallo,

eigentlich reicht es im neuen Plugin-System aus, wenn du deinen Controller unter /Controllers/Frontend/ ablegst. Mehr brauchst du garnicht machen, die werden automatisch registriert. Der Aufruf wäre aber auch “/Test” und nicht “/test/”. Vielleicht liegt es daran?

Hier mal ein Beispiel, wie ich das getestet habe:&nbsp;[https://github.com/mnaczenski/ControllerTest](https://github.com/mnaczenski/ControllerTest)

/Testcontroller funktioniert da im Frontend einwandfrei.

&nbsp;

Moritz

&nbsp;

---

<div class="post-metadata">

**Author:** ![mkv](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@mkv](https://forum.shopware.com/u/mkv)\
**Post date:** [14. August 2017 um 13:22 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558/3 "2017-08-14T13:22:44Z")

</div>

Hallo Moritz,

danke für die Antwort. Großschreibung hat leider nichts geändert. Ich habe mal deinen Test runtergeladen, aber da habe ich das gleiche Verhalten. Rufe ich&nbsp;_/frontend/Testcontroller/index_ auf, lande ich auf der Startseite (getestet in einer frischen, unangerührten Community-Edition 5.3.1).

Bei meinem Testplugin hatte ich es auch bereits mit der automatischen Registrierung probiert, leider ohne Erfolg. Ich muss irgendwas total blödes übersehen.

Edit: Moment, dein Plugin funktioniert jetzt, nachdem ich den Cache über die clear\_cache.sh geleert habe. Ich teste mal eben bei meinem weiter …

---

<div class="post-metadata">

**Author:** ![Moritz\_Naczenski](https://dub1.discourse-cdn.com/flex013/user_avatar/forum.shopware.com/moritz_naczenski/32/7792_2.png) [@Moritz\_Naczenski](https://forum.shopware.com/u/Moritz_Naczenski)\
**Post date:** [14. August 2017 um 13:25 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558/4 "2017-08-14T13:25:12Z")

</div>

Also bei mir läuft das einwandfrei in der 5.3.1 - hab das Beispiel natürlich vorher getestet.

Einfach installieren, Cache leeren und dann läuft das. Aber der aufruf ist ja auch [www.meinshop.de/Testcontroller](http://www.meinshop.de/Testcontroller)

Das Frontend kommt nicht in die URL.

---

<div class="post-metadata">

**Author:** ![mkv](https://avatars.discourse-cdn.com/v4/letter/m/bc79bd/32.png) [@mkv](https://forum.shopware.com/u/mkv)\
**Post date:** [14. August 2017 um 13:53 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558/5 "2017-08-14T13:53:36Z")

</div>

Hallo,

hatte meinen Beitrag zwischenzeitlich editiert. Klappt übrigens durchaus mit /frontend/testcontroller, glaube das ist für Shopware die eigentliche URL?!

Mittlerweile läuft mein Plugin. Es scheint am Namen des Controllers zu liegen. Ich hatte “Support” genutzt, und obwohl unter der URL nichts läuft, funktioniert es damit nicht. Mit “Supportx” z.B. hingegen klappt es. Vielleicht ist der Name reserviert, für das CRM oder so? Sowas ist wieder typisch für mich.

Danke für deine Hilfe!

---

<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:** [2. November 2020 um 21:06 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558/6 "2020-11-02T21:06:10Z")

</div>

Hallo, ich habe das Plugin ebenfalls ausgetestet. Es läuft tatsächlich nur mit [example.de/](http://example.de/) **frontend/** Test .

Soll das so sein?

Danke und Gruss

---

<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:** [3. November 2020 um 11:30 UTC](https://forum.shopware.com/t/eigenen-controller-fur-eigene-landingpage-erstellen/47558/7 "2020-11-03T11:30:09Z")

</div>

Also es funktioniert auch via [example.de/Test](http://example.de/Test) ,also geht beides.
