[gelöst] Beispiel für Filterevent?

Ich möchte gerne das Event “Shopware_Modules_Articles_sGetArticlesByCategory_FilterSql” nutzen, um das SQL dahinter zu manipulieren. Nur wie komme ich überhaupt an das SQL ran? In sArticles.php wird das Event mit $sql = Enlight()-\>Events()-\>filter('Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterSql', $sql, array('subject'=\>$this,'id'=\>$this-\>sSYSTEM-\>\_GET['sCategory'])); geworfen und erwartet das manipulierte SQL zurück. In meiner Bootstrap.php habe ich das Event wie folgt registriert. $event = $this-\>createEvent( 'Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterSql', 'onCategoryFilterSql' ); $this-\>subscribeEvent($event); Wie komme ich jetzt in der function ans SQL? Mit $sql = $args["Shopware\_Modules\_Articles\_sGetArticlesByCategory\_FilterSql"]; funktioniert es schon mal nicht.

etwa so: $sql = $args-\>getReturn(); Die geänderte Abfrage muss einfach zurück gegeben werden: return $sql;

1 „Gefällt mir“

Danke, funktioniert. PS: Wer denkt sich bitte so was aus? Da kommt doch niemand drauf. Ist das irgendwo dokumentiert?