filesystem = $filesystem; $this->filename = $filename; $this->mediaDirectoryRead = $this->filesystem->getDirectoryRead(DirectoryList::MEDIA); $this->componentRegistrar = $componentRegistrar; } /** * Returns customization absolute path * * @param \Magento\Framework\View\Design\ThemeInterface $theme * @return string|null */ public function getCustomizationPath(\Magento\Framework\View\Design\ThemeInterface $theme) { $path = null; if ($theme->getId()) { $path = $this->mediaDirectoryRead->getAbsolutePath(self::DIR_NAME . '/' . $theme->getId()); } return $path; } /** * Get directory where themes files are stored * * @param \Magento\Framework\View\Design\ThemeInterface $theme * @return string|null */ public function getThemeFilesPath(\Magento\Framework\View\Design\ThemeInterface $theme) { $path = null; if ($theme->getFullPath()) { $path = $this->componentRegistrar->getPath(ComponentRegistrar::THEME, $theme->getFullPath()); } return $path; } /** * Get path to custom view configuration file * * @param \Magento\Framework\View\Design\ThemeInterface $theme * @return string|null */ public function getCustomViewConfigPath(\Magento\Framework\View\Design\ThemeInterface $theme) { $path = null; if ($theme->getId()) { $path = $this->mediaDirectoryRead->getAbsolutePath( self::DIR_NAME . '/' . $theme->getId() . '/' . $this->filename ); } return $path; } }