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 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; }