public function preModule(PreModuleEvent $event) { $pageModuleWrapper = $event->getModuleWrapper(); $module = $pageModuleWrapper->createObject(); $cacheProperties = $module->getCacheProperties(); $event->setExtra('module_cacher.properties', $cacheProperties); if ($cacheProperties !== null) { $cacheName = $this->getCacheName($pageModuleWrapper, $cacheProperties); $event->setExtra('module_cacher.name', $cacheName); if (($cache = $this->cache->load($cacheName)) !== false) { $event->setContent($cache['content']); $event->setExtras(array_merge($event->getExtras(), $cache['extra'])); $event->setExtra('module_cacher.cached', true); $event->stopPropagation(); } } }