Hallo,
ich habe ein Plugin, welches sich auf zwei Events subscribed. Einmal Enlight_Controller_Action_PostDispatch_Frontend_Detail
und einmal Enlight_Controller_Action_PostDispatch_Frontend_Listing
.
Das Ziel ist, Artikel ausverkaufte Artikel im Shop auszublenden. Ich weiß, dass es in Shopware eine Einstellung dafür gibt, die hat in diesem Fall aber einen unerwünschten Nebeneffekt, also soll das mit einem Plugin realisiert werden.
public static function getSubscribedEvents()
{
return [
'Enlight_Controller_Action_PostDispatch_Frontend_Detail' => 'onFrontendDetail',
'Enlight_Controller_Action_PostDispatch_Frontend_Listing' => 'onFrontendListing'
];
}
In beiden Funktionen soll auf die Variable $sArticle zugegriffen werden. Das funktioniert in onFrontendDetail
, aber in onFrontendListing
bekomme ich als Wert null zurück.
Der Zugriff sieht so aus:
$controller = $args->getSubject();
$view = $controller->View();
$articles = $view->getAssign('sArticle');
Zum Auslesen gebe ich sie wieder als Smarty-Variable zurück:
$view->assign('Articles', $articles);
Ist PostDispatch_Frontend_Listing
evtl. das falsche Event? Da es bei dem anderen funktioniert, dachte ich, dass es bei diesem auch der Fall ist, aber wohl nicht.