Controller Action überschreiben/erweitern

Hallo, ich möchte die IndexAction des Shopware_Controllers_Frontend_Listing Controllers überschreiben/erweitern. Ich hab das Forum durchsucht, aber leider nichts wirklich passendes gefunden. Daher habe ich ein Plugin geschrieben mit folgenden Dateien: Bootstrap [code] <?php class Shopware_Plugins_Frontend_BehindyouCategorylisting_Bootstrap extends Shopware_Components_Plugin_Bootstrap
{
public function getVersion(){
return ‘0.1’;
}

public function getLabel(){
    return 'Unterkategiorielisting in Kategorien';
}

public function install()
{
    $this->subscribeEvent( 'Enlight\_Controller\_Action\_PostDispatch\_Frontend\_Listing', 'onPostDispatchListing' ); $this-\>subscribeEvent( 'Enlight\_Controller\_Dispatcher\_ControllerPath\_Frontend\_BehindyouCategoryListing', 'onGetControllerPath' ); return true; } public function onPostDispatchListing(Enlight\_Event\_EventArgs $args){ $request = $args-\>getSubject()-\>Request(); $response = $args-\>getSubject()-\>Response(); $view = $args-\>getSubject()-\>View(); if(!$request-\>isDispatched()||$response-\>isException()) { return; } return $this-\>onGetControllerPath(); } public function onGetControllerPath(Enlight\_Event\_EventArgs $args){ return $this-\>Path().'Controllers/Categorylisting.php'; } }[/code] Categorylisting.php [code]<?php class Shopware_Controllers_Frontend_Categorylisting extends Enlight_Controller_Action

{
public function init()
{
$this->View()->addTemplateDir(dirname(__FILE__) . “/…/Views/”); } /** * Index action method * Wir überschreiben die IndexAction des Lsiting Controllers um hier * Kinder der Jeweiligen Kategorie dem Template übergeben und dort ausgeben zu können */ public function indexAction(){ * Anpassungen der Shopware_Controllers_Frontend_Listing IndexAction() * die(‘Test’); } } }[/code] Meine Ordnerstruktur gliedert sich wie folgt: Frontend BehindyouCategoryListing Controllers Categorylisting.php Bootstrap.php Wenn ich nun aber ein Artikellisting aufrufe, so werden meine Änderungen nicht übernommen (ich will Variablen dem Template zuweisen, diese sind aber NULL) Die Installmethode in der Bootstrap läuft soweit ganz gut - würde ich den Code direkt darein schreiben, würde es sicher auch gehen, ich möchte ihn aber lieber in eine extra Controller-Datei auslagern. Geht es eventuell auch über Hooks? Aber auch das bekomme ich irgendwie nicht gebacken. Ich hoffe, ihr könnt mir einen Tipp geben, wieso es nicht geht. Dannke

Hi, grundsätzlich geht es über Hooks (KLASSENNAME::METHODENNAME::REPLACE) oder das Event Enlight_Controller_Action_Frontend_Listing_Index. Beides ist in Sachen Interoperabilität mit anderen Plugins potenziell problematisch - aber so lassen sich prinzipiell Methoden ersetzen. Besten Gruß, Daniel