55 $this->_design = $design;
67 if ($this->_assignedTheme ===
null) {
68 $this->_prepareThemeCustomizations();
81 if ($this->_unassignedTheme ===
null) {
82 $this->_prepareThemeCustomizations();
92 public function getStoresByThemes()
95 $stores = $this->_storeManager->getStores();
99 if (!isset($storesByThemes[$themeId])) {
100 $storesByThemes[$themeId] = [];
102 $storesByThemes[$themeId][] =
$store;
104 return $storesByThemes;
118 return isset($assignedThemes[
$theme->getId()]);
153 return $this->_design->getConfigurationDesignTheme(
168 protected function _prepareThemeCustomizations()
171 $themeCollection = $this->themeProvider->getThemeCustomizations(\
Magento\Framework\
App\Area::AREA_FRONTEND);
173 $assignedThemes = $this->getStoresByThemes();
175 $this->_assignedTheme = [];
176 $this->_unassignedTheme = [];
179 foreach ($themeCollection as
$theme) {
180 if (isset($assignedThemes[
$theme->getId()])) {
181 $theme->setAssignedStores($assignedThemes[
$theme->getId()]);
getUnassignedThemeCustomizations()
__construct(\Magento\Store\Model\StoreManagerInterface $storeManager, \Magento\Framework\View\DesignInterface $design, \Magento\Framework\View\Design\Theme\ThemeProviderInterface $themeProvider)
_getConfigurationThemeId($store)
getAssignedThemeCustomizations()
isThemeAssignedToStore($theme, $store=null)
_isThemeAssignedToSpecificStore($theme, $store)