Hallo Ihr Lieben,
ich schreibe gerade ein Plugin für das Lazyloading von Produktbildern im Produktlisting. Das funktioniert für die erste Listingseite ganz gut, indem ich meine Plugin templates beim Event: "
Enlight\_Controller\_Action\_PostDispatch\_Frontend" lade.
Wenn ich allerdings im Produktlisting auf die zweite Paginationsseite gehe: https://www.shop.de/category/?p=2&o=1&n=48
werden meine Templates nicht geladen, da ich das Event nicht kenne, dass beim Nachladen der Produkte ausgelöst wird.
Welches Event kann ich beim Nachladen der Produkte verwenden, damit meine Templatedateien im Plugin gelesen werden?
Momentan gehe ich so vor:
public static function getSubscribedEvents()
{
return [
'Enlight_Controller_Action_PostDispatch_Frontend' => 'onFrontendPostDispatch',
'Enlight_Controller_Action_PostDispatchSecure_Widgets_Listing' => 'onFrontendPostDispatch',
'Enlight_Controller_Action_PostDispatch_Widgets' => 'onFrontendPostDispatch'
];
}
public function onFrontendPostDispatch(\Enlight_Controller_ActionEventArgs $args)
{
$view = $args->getSubject()->View();
$view->addTemplateDir($this->getPath() . '/Resources/views');
}
Sonst schreibe ich die Änderung einfach direkt ins Template und gehe nicht über ein Plugin.
Danke für Eure Hilfe
Jens