Author: Adam Piotrowski (adam@wellcommerce.org)
Inheritance: extends Symfony\Component\HttpKernel\DependencyInjection\Extension
 protected function processExtensionConfiguration(array $configuration, ContainerBuilder $container)
 {
     parent::processExtensionConfiguration($configuration, $container);
     $indexes = $configuration['engine']['indexes'];
     foreach ($indexes as $indexName => $indexConfiguration) {
         $this->createIndexManager($indexName, $indexConfiguration, $container);
     }
 }
 protected function processExtensionConfiguration(array $configuration, ContainerBuilder $container)
 {
     parent::processExtensionConfiguration($configuration, $container);
     $router = $container->getDefinition('routing.chain_router');
     foreach ($configuration['routers'] as $id => $priority) {
         $router->addMethodCall('add', [new Reference($id), (int) $priority]);
     }
     $container->setAlias('router', 'routing.chain_router');
 }
 protected function processExtensionConfiguration(array $configuration, ContainerBuilder $container)
 {
     parent::processExtensionConfiguration($configuration, $container);
     $copier = $configuration['copier'];
     $entities = $copier['entities'];
     $definition = new Definition($copier['class']);
     $definition->addArgument($entities);
     $definition->addArgument(new Reference('doctrine.helper'));
     $container->setDefinition('locale.copier', $definition);
 }
 protected function processExtensionConfiguration(array $configuration, ContainerBuilder $container)
 {
     parent::processExtensionConfiguration($configuration, $container);
     $adapters = $configuration['engine']['adapters'];
     $index = $configuration['engine']['index'];
     $adapter = $adapters[$container->getParameter('search_engine')] ?? current($adapters);
     $this->processTypes($index['types'], $container);
     $this->processAdapterConfiguration($adapter, $container);
     $container->setParameter('quick_search', $configuration['engine']['quick_search']);
 }
 /**
  * {@inheritdoc}
  */
 public function load(array $configs, ContainerBuilder $container)
 {
     parent::load($configs, $container);
     $configuration = $this->getConfiguration($configs, $container);
     $config = $this->processConfiguration($configuration, $configs);
     $type = $config['type'];
     $container->setParameter('search_term_min_length', $config['search_term_min_length']);
     $container->setAlias('search.indexer', sprintf('search.indexer.%s', $type));
     $container->setAlias('search_index.manager', sprintf('search_index.manager.lucene', $type));
     $container->setAlias('search.provider', sprintf('search.provider.lucene', $type));
 }
 protected function processExtensionConfiguration(array $configuration, ContainerBuilder $container)
 {
     parent::processExtensionConfiguration($configuration, $container);
     foreach ($configuration['dynamic_routing'] as $discriminatorName => $options) {
         $this->routingDiscriminatorMap[$discriminatorName] = $options['entity'];
         $this->routingGeneratorMap[$options['entity']] = $options;
     }
     $router = $container->getDefinition('routing.chain_router');
     foreach ($configuration['routers'] as $id => $priority) {
         $router->addMethodCall('add', [new Reference($id), (int) $priority]);
     }
     $container->setAlias('router', 'routing.chain_router');
     $container->setParameter('routing_discriminator_map', $this->routingDiscriminatorMap);
     $container->setParameter('routing_generator_map', $this->routingGeneratorMap);
 }
 protected function processExtensionConfiguration(array $configuration, ContainerBuilder $container)
 {
     parent::processExtensionConfiguration($configuration, $container);
     $filters = $configuration['filters'];
     $container->setParameter('layered_navigation.filters', $filters);
 }