Beispiel #1
0
 /**
  * {@inheritdoc}
  */
 public function getThemeCustomizations($area = \Magento\Framework\App\Area::AREA_FRONTEND, $type = \Magento\Framework\View\Design\ThemeInterface::TYPE_VIRTUAL)
 {
     /** @var $themeCollection \Magento\Core\Model\Resource\Theme\Collection */
     $themeCollection = $this->collectionFactory->create();
     $themeCollection->addAreaFilter($area)->addTypeFilter($type);
     return $themeCollection;
 }
Beispiel #2
0
 /**
  * Retrieve instance of a theme currently used in an area
  *
  * @return \Magento\Framework\View\Design\ThemeInterface
  */
 public function get()
 {
     $area = $this->appState->getAreaCode();
     if ($this->design->getDesignTheme()->getArea() == $area || $this->design->getArea() == $area) {
         return $this->design->getDesignTheme();
     }
     /** @var \Magento\Core\Model\Resource\Theme\Collection $themeCollection */
     $themeCollection = $this->themeFactory->create();
     $themeIdentifier = $this->design->getConfigurationDesignTheme($area);
     if (is_numeric($themeIdentifier)) {
         $result = $themeCollection->getItemById($themeIdentifier);
     } else {
         $themeFullPath = $area . \Magento\Framework\View\Design\ThemeInterface::PATH_SEPARATOR . $themeIdentifier;
         $result = $themeCollection->getThemeByFullPath($themeFullPath);
     }
     return $result;
 }
Beispiel #3
0
 /**
  * Retrieve theme instance by its identifier
  *
  * @param int $themeId
  * @return \Magento\Core\Model\Theme|null
  */
 protected function _getThemeInstance($themeId)
 {
     /** @var \Magento\Core\Model\Resource\Theme\Collection $themeCollection */
     $themeCollection = $this->_themesFactory->create();
     return $themeCollection->getItemById($themeId);
 }
Beispiel #4
0
 /**
  * @return \Magento\Core\Model\Resource\Theme\CollectionFactory
  */
 public function createThemeResourceFactory()
 {
     return $this->_themeResourceFactory->create();
 }