/** * @param array<Tx_PtExtlist_Domain_Model_List_Row> $itemArray * @param Tx_Yag_Domain_Configuration_Theme_ThemeConfiguration $themeConfiguration * @return void */ public function preloadCacheForItemsAndTheme($itemArray, Tx_Yag_Domain_Configuration_Theme_ThemeConfiguration $themeConfiguration) { $imageArray = array(); $parameterHashArray = array(); foreach ($itemArray as $item) { if (is_a($item, 'Tx_PtExtlist_Domain_Model_List_Row') && is_a($item['image']->getValue(), 'Tx_Yag_Domain_Model_Item')) { $item = $item['image']->getValue(); $imageArray[$item->getUid()] = $item; } } foreach ($themeConfiguration->getResolutionConfigCollection() as $resolutionConfig) { /** @var $resolutionConfig Tx_Yag_Domain_Configuration_Image_ResolutionConfig */ $parameterHashArray[] = $resolutionConfig->getParameterHash(); } $resolutions = $this->resolutionFileCacheRepository->getResolutionsByItems($imageArray, $parameterHashArray); foreach ($resolutions as $resolution) { /** @var $resolution Tx_Yag_Domain_Model_ResolutionFileCache */ if (is_a($resolution, 'Tx_Yag_Domain_Model_ResolutionFileCache')) { $this->addResolutionFiletoLocalCache($resolution); } } }
/** * Add theme defined CSS / JS to the header * @var Tx_Yag_Domain_Configuration_Theme_ThemeConfiguration $themeConfiguration */ public function includeThemeDefinedHeader(Tx_Yag_Domain_Configuration_Theme_ThemeConfiguration $themeConfiguration) { $jsPosition = $themeConfiguration->getJsPosition(); // add JS files from a defined library to the header $headerJSLibs = $themeConfiguration->getJSLibraries(); foreach ($headerJSLibs as $library) { $this->addDefinedLibJSFiles($library, $jsPosition); } // add CSS files from a defined library to the header $headerLibCSS = $themeConfiguration->getCSSLibraries(); foreach ($headerLibCSS as $library) { $this->addDefinedLibCSS($library); } // Add CSS files to the header $headerCSSFiles = $themeConfiguration->getCSSFiles(); foreach ($headerCSSFiles as $fileIdentifier => $filePath) { $this->addCSSFile($filePath); } // Add JS files to the header $headerJSFiles = $themeConfiguration->getJSFiles(); foreach ($headerJSFiles as $fileIdentifier => $filePath) { $this->addJSFile($filePath, $jsPosition); } }