Events der sSearch.php

Hallo, hat einer eine Idee, wie ich die Events einer verschlüsselten Klasse rausbekomme? Ich möchte bei der intelligenten Suche die Suchergebnisse modifizieren. Konkret: falls der Pseudopreis eines Suchergebnisses kleiner als der normale Preis ist soll der Pseudopreis auf 0 gesetzt werden. Ansonsten ist das ein bisschen blöd, wenn der Kunde sieht, dass er statt 20 Euro nur noch 25 Euro zahlen soll :stuck_out_tongue: Im Artikellisting habe ich zum Beispiel das Event Shopware_Modules_Articles_sGetArticlesByCategory_FilterResult genommen. Analog dazu suche ich das Event von der intelligenten Suche. Vielen Dank für eure Hilfe Dominik

Die sSearch.php enthält noch keine Events - da kannst du am besten per Event die searchAction des Search-Controllers abfangen und dort aus dem View das Array sSearchResults abfragen. Das kannst du dann ja beliebig verändern / erweitern und wieder dem View zuweisen.

Hallo Stefan, danke für deine Antwort. Habs nun mit deiner Hilfe so gelöst: $hook = $this-\>createHook( 'Shopware\_Controllers\_Frontend\_Search', 'searchFuzzyAction', 'onSearchFuzzyAction', Enlight\_Hook\_HookHandler::TypeAfter, 0 ); $this-\>subscribeHook($hook); static function onSearchFuzzyAction(Enlight\_Hook\_HookArgs $args) { $subject = $args-\>getSubject(); $articles = $subject-\>View()-\>sSearchResults; foreach ($articles["sArticles"] as $k =\> $article){ if (($article["pseudoprice"] \> 0.1) && ($article["pseudoprice"] \<= $article["price"])) {$articles["sArticles"][$k]["pseudoprice"] = '0';} } $subject-\>View()-\>sSearchResults = $articles; }