/**
  * {@inheritdoc}
  */
 public function prepend(ContainerBuilder $container)
 {
     if (!$container->hasExtension('assetic')) {
         throw new \LogicException('The assetic bundle is required.');
     }
     $asseticConfig = $container->getExtensionConfig('assetic')[0];
     $assetConfig = $container->getExtensionConfig('ynlo_assets')[0];
     //Assetic base configuration
     $asseticConfig['bundles'][] = 'YnloFrameworkBundle';
     $asseticConfig['filters']['cssrewrite'] = null;
     if (empty($asseticConfig['assets'])) {
         $asseticConfig['assets'] = [];
     }
     $useRequireJs = !isset($assetConfig['requirejs']) || $assetConfig['requirejs'] !== false;
     AssetRegistry::build($container, $useRequireJs);
     if ($useRequireJs) {
         AssetRegistry::prependAssets([AssetFactory::asset('requirejs', 'bundles/ynloassets/vendor/requirejs/require.min.js'), AssetFactory::asset('requirejs_config', 'bundles/ynloassets/js/require_js_config.js', ['require_js_config'])]);
         AssetRegistry::addAsset(AssetFactory::asset('jquery_plugins_overrides', 'bundles/ynloassets/js/jquery_plugins_overrides.js', ['jquery_plugin_override']));
     }
     $this->processAssetContexts($container);
     //save the array of assets in a param to restore the registry later
     $container->setParameter('ynlo.assets', AssetRegistry::serialize());
     $registeredAssets = AssetRegistry::getAsseticAssetsArray();
     $asseticConfig['assets'] = array_merge($registeredAssets, $asseticConfig['assets']);
     $container->prependExtensionConfig('assetic', $asseticConfig);
 }
Exemplo n.º 2
0
 public function testGetRegisteredAssets()
 {
     $registry = new AssetRegistry($this->container);
     $assets = $registry->getAsseticAssetsArray();
     self::assertContains('bundles/ynloframework/vendor/jquery/jquery.min.js', $assets['all_js']['inputs']);
     self::assertContains('bundles/ynloframework/js/core.yfp.js', $assets['all_js']['inputs']);
     self::assertContains('bundles/ynloadmin/js/admin.yfp.js', $assets['all_js']['inputs']);
     self::assertContains('bundles/ynloframework/vendor/bootstrap/css/bootstrap.min.css', $assets['all_css']['inputs']);
     self::assertContains('bundles/ynloadmin/vendor/admin-lte/css/AdminLTE.min.css', $assets['all_css']['inputs']);
     self::assertContains('bundles/ynloframework/vendor/jquery/jquery.min.js', $assets['jquery']['inputs']);
 }