25 private $storeManager;
32 private $themeProvider;
52 $this->themeProvider = $themeProvider;
66 foreach ($themePaths as $themePath) {
67 $theme = $this->themeProvider->getThemeByFullPath($themePath);
68 $themesById[
$theme->getId()] = $themePath;
70 $configData = $this->configData
72 ->addFieldToFilter(
'path', DesignInterface::XML_PATH_THEME_ID)
73 ->addFieldToFilter(
'value', [
'in' => array_keys($themesById)]);
74 foreach ($configData as
$row) {
75 switch (
$row[
'scope']) {
77 $messages[] =
'<error>' . $themesById[
$row[
'value']] .
' is in use in default config' .
'</error>';
80 $messages[] =
'<error>' . $themesById[
$row[
'value']] .
' is in use in website ' 81 . $this->storeManager->getWebsite(
$row[
'scope_id'])->getName() .
'</error>';
84 $messages[] =
'<error>' . $themesById[
$row[
'value']] .
' is in use in store ' 85 . $this->storeManager->getStore(
$row[
'scope_id'])->getName() .
'</error>';
__construct(StoreManagerInterface $storeManager, ThemeProviderInterface $themeProvider, ValueInterface $configData)
validateIsThemeInUse($themePaths)