123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114 |
- <?php
- /**
- * Copyright © Magento, Inc. All rights reserved.
- * See COPYING.txt for license details.
- */
- namespace Magento\Framework\View\Design\Theme\Customization;
- use Magento\Framework\App\Filesystem\DirectoryList;
- use Magento\Framework\Component\ComponentRegistrar;
- use Magento\Framework\Component\ComponentRegistrarInterface;
- /**
- * Theme Customization Path
- */
- class Path
- {
- /**
- * Customization directory name
- */
- const DIR_NAME = 'theme_customization';
- /**
- * File name
- *
- * @var string
- */
- protected $filename;
- /**
- * File system
- *
- * @var \Magento\Framework\Filesystem
- */
- protected $filesystem;
- /**
- * Media directory read
- *
- * @var \Magento\Framework\Filesystem\Directory\Read
- */
- protected $mediaDirectoryRead;
- /**
- * Component registrar
- *
- * @var ComponentRegistrarInterface
- */
- private $componentRegistrar;
- /**
- * Constructor
- *
- * @param \Magento\Framework\Filesystem $filesystem
- * @param ComponentRegistrarInterface $componentRegistrar
- * @param string $filename
- */
- public function __construct(
- \Magento\Framework\Filesystem $filesystem,
- ComponentRegistrarInterface $componentRegistrar,
- $filename = \Magento\Framework\View\ConfigInterface::CONFIG_FILE_NAME
- ) {
- $this->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;
- }
- }
|