Artikeldaten der Suchergebnisse um weitere Informationen erweitern

Hallo,

wie es der Titel schon sagt, würde ich gern die Artikeldaten der Suchergebnisse um weitere Informationen erweitern.

Der Ansatz wäre über dieses Event:

$this->subscribeEvent(
     'Enlight_Controller_Action_PostDispatch_Frontend_Search', 'onFrontendPostDispatchSearch'
);

die sSearchResults - Variable auszulesen, zu ergänzen und wieder zurück zu geben:

public function onFrontendPostDispatchSearch(Enlight_Event_EventArgs $arguments) {
     $controller = $arguments->getSubject();
     $view = $controller->View();
     $request = $controller->Request();

     if ($request->getModuleName() !== 'frontend' || !$view->hasTemplate()) {
          return;
     }

     $sSearchResults = $view->getAssign('sSearchResults');

     foreach ($sSearchResults['sArticles'] as &$sArticle) {
          $sArticle['new_article_id'] = $sArticle['articleID'];
     }

     $view->assign('sSearchResults', $sSearchResults);
}

und dann in der Template - Datei “box-basic.tpl” aus dem Verzeichnis “frontend/listing/product-box” die neuen Daten auszuwerten. Leider hat new_article_id immer keinen Wert, wo könnte der Fehler liegen?

Beste Grüße

Sebastian

Sieht für mich eigtl richtig aus. Hat $sArticle[‚articleID‘] denn nen Wert? Sonst mach halt so. Das funktioniert auf jeden Fall.

$temp = [];
foreach ($sSearchResults['sArticles'] as $sArticle) {
  $sArticle['new_article_id'] = $sArticle['articleID'];
  $temp[] = $sArticle;
}
$sSearchResults['sArticles'] = $temp;