|
13 | 13 | use Magento\Framework\View\Design\Theme\ThemeProviderInterface; |
14 | 14 | use Magento\Framework\View\DesignInterface; |
15 | 15 | use Magento\Framework\View\File\CollectorInterface; |
| 16 | +use Magento\Framework\Module\ModuleManagerInterface; |
16 | 17 |
|
17 | 18 | /** |
18 | 19 | * @magento_import instruction preprocessor |
@@ -57,25 +58,33 @@ class MagentoImport implements PreProcessorInterface |
57 | 58 | */ |
58 | 59 | private $themeProvider; |
59 | 60 |
|
| 61 | + /** |
| 62 | + * @var ModuleManagerInterface |
| 63 | + */ |
| 64 | + private $moduleManager; |
| 65 | + |
60 | 66 | /** |
61 | 67 | * @param DesignInterface $design |
62 | 68 | * @param CollectorInterface $fileSource |
63 | 69 | * @param ErrorHandlerInterface $errorHandler |
64 | 70 | * @param \Magento\Framework\View\Asset\Repository $assetRepo |
65 | 71 | * @param \Magento\Framework\View\Design\Theme\ListInterface $themeList |
| 72 | + * @param ModuleManagerInterface $moduleManager |
66 | 73 | */ |
67 | 74 | public function __construct( |
68 | 75 | DesignInterface $design, |
69 | 76 | CollectorInterface $fileSource, |
70 | 77 | ErrorHandlerInterface $errorHandler, |
71 | 78 | \Magento\Framework\View\Asset\Repository $assetRepo, |
72 | | - \Magento\Framework\View\Design\Theme\ListInterface $themeList |
| 79 | + \Magento\Framework\View\Design\Theme\ListInterface $themeList, |
| 80 | + ModuleManagerInterface $moduleManager |
73 | 81 | ) { |
74 | 82 | $this->design = $design; |
75 | 83 | $this->fileSource = $fileSource; |
76 | 84 | $this->errorHandler = $errorHandler; |
77 | 85 | $this->assetRepo = $assetRepo; |
78 | 86 | $this->themeList = $themeList; |
| 87 | + $this->moduleManager = $moduleManager; |
79 | 88 | } |
80 | 89 |
|
81 | 90 | /** |
@@ -108,6 +117,9 @@ protected function replace(array $matchedContent, LocalInterface $asset) |
108 | 117 | $importFiles = $this->fileSource->getFiles($this->getTheme($relatedAsset), $resolvedPath); |
109 | 118 | /** @var $importFile \Magento\Framework\View\File */ |
110 | 119 | foreach ($importFiles as $importFile) { |
| 120 | + if ($importFile->getModule() && !$this->moduleManager->isEnabled($importFile->getModule())) { |
| 121 | + continue; |
| 122 | + } |
111 | 123 | $referenceString = $isReference ? '(reference) ' : ''; |
112 | 124 | $importsContent .= $importFile->getModule() |
113 | 125 | ? "@import $referenceString'{$importFile->getModule()}::{$resolvedPath}';\n" |
|
0 commit comments