/** * Include RequireJs configuration as an asset on the page * * @return $this */ protected function _prepareLayout() { $requireJsConfig = $this->fileManager->createRequireJsConfigAsset(); $requireJsMixinsConfig = $this->fileManager->createRequireJsMixinsAsset(); $assetCollection = $this->pageConfig->getAssetCollection(); $after = RequireJsConfig::REQUIRE_JS_FILE_NAME; if ($this->minification->isEnabled('js')) { $minResolver = $this->fileManager->createMinResolverAsset(); $assetCollection->insert($minResolver->getFilePath(), $minResolver, $after); $after = $minResolver->getFilePath(); } if ($this->bundleConfig->isBundlingJsFiles()) { $bundleAssets = $this->fileManager->createBundleJsPool(); $staticAsset = $this->fileManager->createStaticJsAsset(); /** @var \Magento\Framework\View\Asset\File $bundleAsset */ if (!empty($bundleAssets) && $staticAsset !== false) { $bundleAssets = array_reverse($bundleAssets); foreach ($bundleAssets as $bundleAsset) { $assetCollection->insert($bundleAsset->getFilePath(), $bundleAsset, $after); } $assetCollection->insert($staticAsset->getFilePath(), $staticAsset, reset($bundleAssets)->getFilePath()); $after = $staticAsset->getFilePath(); } } $assetCollection->insert($requireJsConfig->getFilePath(), $requireJsConfig, $after); $assetCollection->insert($requireJsMixinsConfig->getFilePath(), $requireJsMixinsConfig, $after); return parent::_prepareLayout(); }
/** * Include RequireJs inline translation configuration as an asset on the page * @return void */ private function addInlineTranslationConfig() { if ($this->inline->isAllowed()) { $after = RequireJsConfig::REQUIRE_JS_FILE_NAME; $tConfig = $this->fileManager->createTranslateConfigAsset(); $assetCollection = $this->pageConfig->getAssetCollection(); $assetCollection->insert($tConfig->getFilePath(), $tConfig, $after); } }
/** * Include RequireJs configuration as an asset on the page * * @return $this */ protected function _prepareLayout() { $requireJsConfig = $this->fileManager->createRequireJsConfigAsset(); $assetCollection = $this->pageConfig->getAssetCollection(); $assetCollection->insert($requireJsConfig->getFilePath(), $requireJsConfig, RequireJsConfig::REQUIRE_JS_FILE_NAME); if ($this->bundleConfig->isBundlingJsFiles()) { $bundleAssets = $this->fileManager->createBundleJsPool(); $staticAsset = $this->fileManager->createStaticJsAsset(); /** @var \Magento\Framework\View\Asset\File $bundleAsset */ if (!empty($bundleAssets) && $staticAsset !== false) { $bundleAssets = array_reverse($bundleAssets); foreach ($bundleAssets as $bundleAsset) { $assetCollection->insert($bundleAsset->getFilePath(), $bundleAsset, RequireJsConfig::REQUIRE_JS_FILE_NAME); } $assetCollection->insert($staticAsset->getFilePath(), $staticAsset, RequireJsConfig::CONFIG_FILE_NAME); } } return parent::_prepareLayout(); }
/** * Returns rendered HTML for all Assets (CSS before) * * @param array $resultGroups * * @return string */ public function renderAssets($resultGroups = []) { /** @var $group \Magento\Framework\View\Asset\PropertyGroup */ foreach ($this->pageConfig->getAssetCollection()->getGroups() as $group) { $type = $group->getProperty(GroupedCollection::PROPERTY_CONTENT_TYPE); if (!isset($resultGroups[$type])) { $resultGroups[$type] = ''; } $resultGroups[$type] .= $this->renderAssetGroup($group); } return implode('', $resultGroups); }
public function testGetAssetCollection() { $this->assertInstanceOf('Magento\\Framework\\View\\Asset\\GroupedCollection', $this->model->getAssetCollection()); }
/** * {@inheritdoc} */ public function getAssetCollection() { $pluginInfo = $this->pluginList->getNext($this->subjectType, 'getAssetCollection'); if (!$pluginInfo) { return parent::getAssetCollection(); } else { return $this->___callPlugins('getAssetCollection', func_get_args(), $pluginInfo); } }