Hallo, wie kann ich nach der Ausgabe eines Blogeintrags eingreifen? Mit diesen beiden Listenern komme ich nicht weiter $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Detail', 'onPostDispatchDetail' ); $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Blog\_Detail', 'onPostDispatchBlogDetail' );
Kann mir jemand einen Tipp geben?
Hast du dir mal die Events angeschaut, die dir die Entwicklertoolbar wirft? -> http://store.shopware.de/administration … lertoolbar Viele Grüße
Als erstes Danke für den Tip. Im Live-System wirft mir die Toolbar einen 503 Fehler (wir haben ein selber programmiertes Template - evtl. ist hier was fehlerhaft?). Im Staging System mit emotion als Template wird beispielsweise folgendes Event gelistet: Enlight_Controller_Action_PostDispatch_Frontend_Blog In der Bootstrap wird das Event eingebunden: $this-\>subscribeEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Blog', 'onPostDispatchBlog' );
public function onPostDispatchBlog(Enlight\_Event\_EventArgs $args) { echo "TEST"; }
Zum TEST kommt es trotzdem nicht. Was mache ich falsch…
Ein einfach echo ist immer so eine Sache… Wenn du nicht gerade am live System arbeitest, kannst du auch einfach ein die() schmeißen. Am besten jedoch: schau dir die Ausgaben vom Entwicklertool oder von Firebug an. Im Entwicklertool wird beim Event angezeigt, welche hooks ausgeführt werden. Ich kann gar nicht glauben, dass deine Methode nicht aufgerufen wird… Viele Grüße
Leider wird sie das nicht - das verstehe ich ja auch nicht: notify Enlight_Controller_Action_PostDispatch_Frontend_Blog (1.0E-5 ms) Parameters subject => Shopware_ProxiesStaging_ShopwareControllersFrontendBlogProxy request => Enlight_Controller_Request_RequestHttp response => Enlight_Controller_Response_ResponseHttp Before-Listener-Triggered After-Listener-Triggered Es wird hier gar nichts aufgerufen… Das mit dem echo ist mir schon klar Ich kapiere das echt nicht…
Hast du mal in die Tabelle s_core_subscribes geschaut, ob das Event überhaupt korrekt registriert wurde?
Perfekt - das war der Hinweis. Eine Neuinstallation des Plugins hat geholfen.