Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
DeployRequireJsConfig.php
Go to the documentation of this file.
1 <?php
6 namespace Magento\Deploy\Service;
7 
8 use Magento\Framework\Locale\ResolverInterfaceFactory;
10 use Magento\RequireJs\Model\FileManagerFactory;
11 use Magento\Framework\View\DesignInterfaceFactory;
13 use Magento\Framework\View\Asset\RepositoryFactory;
14 use Magento\Framework\RequireJs\ConfigFactory;
15 
20 {
25 
29  private $themeList;
30 
34  private $designFactory;
35 
39  private $assetRepoFactory;
40 
44  private $fileManagerFactory;
45 
49  private $requireJsConfigFactory;
50 
54  private $localeFactory;
55 
66  public function __construct(
67  ListInterface $themeList,
68  DesignInterfaceFactory $designFactory,
69  RepositoryFactory $assetRepoFactory,
70  FileManagerFactory $fileManagerFactory,
71  ConfigFactory $requireJsConfigFactory,
72  ResolverInterfaceFactory $localeFactory
73  ) {
74  $this->themeList = $themeList;
75  $this->designFactory = $designFactory;
76  $this->assetRepoFactory = $assetRepoFactory;
77  $this->fileManagerFactory = $fileManagerFactory;
78  $this->requireJsConfigFactory = $requireJsConfigFactory;
79  $this->localeFactory = $localeFactory;
80  }
81 
88  public function deploy($areaCode, $themePath, $localeCode)
89  {
91  $theme = $this->themeList->getThemeByFullPath($areaCode . '/' . $themePath);
93  $design = $this->designFactory->create()->setDesignTheme($theme, $areaCode);
95  $locale = $this->localeFactory->create();
96  $locale->setLocale($localeCode);
97  $design->setLocale($locale);
98 
99  $assetRepo = $this->assetRepoFactory->create(['design' => $design]);
101  $fileManager = $this->fileManagerFactory->create(
102  [
103  'config' => $this->requireJsConfigFactory->create(
104  [
105  'assetRepo' => $assetRepo,
106  'design' => $design,
107  ]
108  ),
109  'assetRepo' => $assetRepo,
110  ]
111  );
112 
113  $fileManager->createRequireJsConfigAsset();
114 
115  $fileManager->createMinResolverAsset();
116 
117  return true;
118  }
119 }
__construct(ListInterface $themeList, DesignInterfaceFactory $designFactory, RepositoryFactory $assetRepoFactory, FileManagerFactory $fileManagerFactory, ConfigFactory $requireJsConfigFactory, ResolverInterfaceFactory $localeFactory)
$themeList
Definition: config_data.php:15
$theme