Magento 2 Documentation  2.3
Documentation for Magento 2 CMS v2.3 (December 2018)
Config.php
Go to the documentation of this file.
1 <?php
8 
11 
19 {
23  private $config;
24 
28  private $fileManager;
29 
33  protected $pageConfig;
34 
38  protected $minification;
39 
43  private $bundleConfig;
44 
54  public function __construct(
55  \Magento\Framework\View\Element\Context $context,
56  RequireJsConfig $config,
57  \Magento\RequireJs\Model\FileManager $fileManager,
58  \Magento\Framework\View\Page\Config $pageConfig,
59  \Magento\Framework\View\Asset\ConfigInterface $bundleConfig,
61  array $data = []
62  ) {
63  parent::__construct($context, $data);
64  $this->config = $config;
65  $this->fileManager = $fileManager;
66  $this->pageConfig = $pageConfig;
67  $this->bundleConfig = $bundleConfig;
68  $this->minification = $minification;
69  }
70 
76  protected function _prepareLayout()
77  {
78  $after = RequireJsConfig::REQUIRE_JS_FILE_NAME;
79  $assetCollection = $this->pageConfig->getAssetCollection();
80  if ($this->minification->isEnabled('js')) {
81  $minResolver = $this->fileManager->createMinResolverAsset();
82  $assetCollection->insert(
83  $minResolver->getFilePath(),
84  $minResolver,
85  $after
86  );
87  $after = $minResolver->getFilePath();
88  }
89  $requireJsMapConfig = $this->fileManager->createRequireJsMapConfigAsset();
90  if ($requireJsMapConfig) {
91  $urlResolverAsset = $this->fileManager->createUrlResolverAsset();
92  $assetCollection->insert(
93  $urlResolverAsset->getFilePath(),
94  $urlResolverAsset,
95  $after
96  );
97  $after = $urlResolverAsset->getFilePath();
98  $assetCollection->insert(
99  $requireJsMapConfig->getFilePath(),
100  $requireJsMapConfig,
101  $after
102  );
103  $after = $requireJsMapConfig->getFilePath();
104  }
105  if ($this->bundleConfig->isBundlingJsFiles()) {
106  $bundleAssets = $this->fileManager->createBundleJsPool();
107  $staticAsset = $this->fileManager->createStaticJsAsset();
109  if (!empty($bundleAssets) && $staticAsset !== false) {
110  $bundleAssets = array_reverse($bundleAssets);
111  foreach ($bundleAssets as $bundleAsset) {
112  $assetCollection->insert(
113  $bundleAsset->getFilePath(),
114  $bundleAsset,
115  $after
116  );
117  }
118  $assetCollection->insert(
119  $staticAsset->getFilePath(),
120  $staticAsset,
121  reset($bundleAssets)->getFilePath()
122  );
123  $after = $staticAsset->getFilePath();
124  }
125  }
126  $requireJsConfig = $this->fileManager->createRequireJsConfigAsset();
127  $assetCollection->insert(
128  $requireJsConfig->getFilePath(),
129  $requireJsConfig,
130  $after
131  );
132  $requireJsMixinsConfig = $this->fileManager->createRequireJsMixinsAsset();
133  $assetCollection->insert(
134  $requireJsMixinsConfig->getFilePath(),
135  $requireJsMixinsConfig,
136  $after
137  );
138  return parent::_prepareLayout();
139  }
140 }
$config
Definition: fraud_order.php:17
__construct(\Magento\Framework\View\Element\Context $context, RequireJsConfig $config, \Magento\RequireJs\Model\FileManager $fileManager, \Magento\Framework\View\Page\Config $pageConfig, \Magento\Framework\View\Asset\ConfigInterface $bundleConfig, Minification $minification, array $data=[])
Definition: Config.php:54