Hu, folgendes: Wenn ich das Enlight_Controller_Front_StartDispatch Event registriere, dann müsste er doch sobald man die Seite aufruft die entsprechende function ausführen, oder sehe ich das falsch? Also bevor überhaupt irgendetwas ausgeführt wird. Indemfalle einfach ein: private function registerEvents() { $this-\>subscribeEvent( 'Enlight\_Controller\_Front\_StartDispatch', 'onStartDispatch' ); } public function onStartDispatch(Enlight\_Controller\_EventArgs $args) { return "test"; }
Nach meiner Auffassung dürfte ich nur das test bekommen, aber es tut sich nichts, als wäre das Plugin nicht installiert Oder habe ich einen Denkfehler drin?
Letzteres. Du registrierst lediglich einen zusätzliches Event, welches im Gesamtablauf aufgerufen wird. Die return-Funktion hat in diesem Fall nichts mit der Ausgabe am Bildschirm zu tun. Zudem werden alle nachfolgenden Events wie gewohnt ausgeführt und der Shop angezeigt. Hier können die Developer-Basics im Wiki helfen. Ob die Funktion aufgerufen wurde ist mit der Toolbar zu sehen, oder mit einem harten Ausstieg wie einer erzeugten Exception.