/** * {@inheritDoc} */ public function load(array $configs, ContainerBuilder $container) { $configuredMenus = array(); if (is_file($file = $container->getParameter('kernel.root_dir') . '/config/navigation.yml')) { $configuredMenus = $this->parseFile($file); $container->addResource(new FileResource($file)); } foreach ($container->getParameter('kernel.bundles') as $bundle) { $reflection = new \ReflectionClass($bundle); if (is_file($file = dirname($reflection->getFilename()) . '/Resources/config/navigation.yml')) { $configuredMenus = array_replace_recursive($configuredMenus, $this->parseFile($file)); $container->addResource(new FileResource($file)); } } $loader = new Loader\YamlFileLoader($container, new FileLocator(__DIR__ . '/../Resources/config')); $loader->load('services.yml'); // validate menu configurations foreach ($configuredMenus as $rootName => $menuConfiguration) { $configuration = new NavigationConfiguration(); $configuration->setMenuRootName($rootName); $menuConfiguration[$rootName] = $this->processConfiguration($configuration, array($rootName => $menuConfiguration)); } // Set configuration to be used in a custom service $container->setParameter('jb_config.menu.configuration', $configuredMenus); // Last argument of this service is always the menu configuration $container->getDefinition('jb_config.menu.provider')->addArgument($configuredMenus); }
/** * Init mock */ public function setUp() { $this->navigationConfiguration = new NavigationConfiguration(); $this->navigationConfiguration->setMenuRootName('my_menu'); }