// Creates a directory iterator for the default theme directory (engine/Shopware/Themes)
$directories =
new DirectoryIterator($this->pathResolver->
getFrontendThemeDirectory());
// Synchronize the default themes which are stored in the engine/Shopware/Themes directory.
$themes =
$this->
synchronizeThemeDirectories($directories);
// To prevent inconsistent data, themes that were removed from the file system have to be removed.
$this->
removeDeletedThemes();
// Before the inheritance can be built, the plugin themes have to be initialized.
$pluginThemes =
$this->
synchronizePluginThemes();
$themes =
array_merge($themes,
$pluginThemes);
// Builds the theme inheritance
$this->
setParents($themes);
/** @var Theme $theme */
foreach ($themes as $theme) { $this->configurator->
synchronize($theme);
} }