Example #1
0
 /**
  * @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);
         }
     }
 }
Example #2
0
 /**
  * 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);
     }
 }