assetRepo = $assetRepo; $this->viewConfigFactory = $viewConfigFactory; } /** * Render view config object for current package and theme * * @param array $params * @return \Magento\Framework\Config\View */ public function getViewConfig(array $params = []) { $this->assetRepo->updateDesignParams($params); $viewConfigParams = []; if (isset($params['themeModel'])) { /** @var \Magento\Framework\View\Design\ThemeInterface $currentTheme */ $currentTheme = $params['themeModel']; $key = $currentTheme->getFullPath(); if (isset($this->viewConfigs[$key])) { return $this->viewConfigs[$key]; } $viewConfigParams['themeModel'] = $currentTheme; } $viewConfigParams['area'] = (isset($params['area'])) ? $params['area'] : null; /** @var \Magento\Framework\Config\View $config */ $config = $this->viewConfigFactory->create($viewConfigParams); if (isset($key)) { $this->viewConfigs[$key] = $config; } return $config; } }