protected function configureSitemap(array $config, ContainerBuilder $container)
    {
        $source = $container->getDefinition('sonata.seo.sitemap.manager');

        if (method_exists($source, 'setShared')) { // Symfony 2.8+
            $source->setShared(false);
        } else {
            // For Symfony <2.8 compatibility
            $source->setScope(ContainerInterface::SCOPE_PROTOTYPE);
        }

        foreach ($config['doctrine_orm'] as $pos => $sitemap) {
            // define the connectionIterator
            $connectionIteratorId = 'sonata.seo.source.doctrine_connection_iterator_'.$pos;

            $connectionIterator = new Definition('%sonata.seo.exporter.database_source_iterator.class%', [
                new Reference($sitemap['connection']),
                $sitemap['query'],
            ]);

            $connectionIterator->setPublic(false);
            $container->setDefinition($connectionIteratorId, $connectionIterator);

            // define the sitemap proxy iterator
            $sitemapIteratorId = 'sonata.seo.source.doctrine_sitemap_iterator_'.$pos;

            $sitemapIterator = new Definition('%sonata.seo.exporter.sitemap_source_iterator.class%', [
                new Reference($connectionIteratorId),
                new Reference('router'),
                $sitemap['route'],
                $sitemap['parameters'],
            ]);

            $sitemapIterator->setPublic(false);

            $container->setDefinition($sitemapIteratorId, $sitemapIterator);

            $source->addMethodCall('addSource', [$sitemap['group'], new Reference($sitemapIteratorId), $sitemap['types']]);
        }

        foreach ($config['services'] as $service) {
            $source->addMethodCall('addSource', [$service['group'], new Reference($service['id']), $service['types']]);
        }
    }
protected function configureSitemap(array $config, ContainerBuilder $container)
    {
        $source = $container->getDefinition('sonata.seo.sitemap.manager');

        if (method_exists($source, 'setShared')) { // Symfony 2.8+
            $source->setShared(false);
        } else {
            // For Symfony <2.8 compatibility
            $source->setScope(ContainerInterface::SCOPE_PROTOTYPE);
        }

        foreach ($config['doctrine_orm'] as $pos => $sitemap) {
            // define the connectionIterator
            $connectionIteratorId = 'sonata.seo.source.doctrine_connection_iterator_'.$pos;

            $connectionIterator = new Definition('%sonata.seo.exporter.database_source_iterator.class%', [
                new Reference($sitemap['connection']),
                $sitemap['query'],
            ]);

            $connectionIterator->setPublic(false);
            $container->setDefinition($connectionIteratorId, $connectionIterator);

            // define the sitemap proxy iterator
            $sitemapIteratorId = 'sonata.seo.source.doctrine_sitemap_iterator_'.$pos;

            $sitemapIterator = new Definition('%sonata.seo.exporter.sitemap_source_iterator.class%', [
                new Reference($connectionIteratorId),
                new Reference('router'),
                $sitemap['route'],
                $sitemap['parameters'],
            ]);

            $sitemapIterator->setPublic(false);

            $container->setDefinition($sitemapIteratorId, $sitemapIterator);

            $source->addMethodCall('addSource', [$sitemap['group'], new Reference($sitemapIteratorId), $sitemap['types']]);
        }

        foreach ($config['services'] as $service) {
            $source->addMethodCall('addSource', [$service['group'], new Reference($service['id']), $service['types']]);
        }
    }
protected function configureSitemap ( array $ config , ContainerBuilder $ container ) { $ source = $ container -> getDefinition ( 'sonata.seo.sitemap.manager' ) ; if ( method_exists ( $ source , 'setShared' ) ) { // Symfony 2.8+ $ source -> setShared ( false ) ; } else { // For Symfony <2.8 compatibility $ source -> setScope ( ContainerInterface :: SCOPE_PROTOTYPE ) ; } foreach ( $ config [ 'doctrine_orm' ] as $ pos => $ sitemap ) { // define the connectionIterator $ connectionIteratorId = 'sonata.seo.source.doctrine_connection_iterator_' . $ pos ; $ connectionIterator = new Definition ( '%sonata.seo.exporter.database_source_iterator.class%' , [ new Reference ( $ sitemap [ 'connection' ] ) , $ sitemap [ 'query' ] , ] ) ; $ connectionIterator -> setPublic ( false ) ; $ container -> setDefinition ( $ connectionIteratorId , $ connectionIterator ) ; // define the sitemap proxy iterator $ sitemapIteratorId = 'sonata.seo.source.doctrine_sitemap_iterator_' . $ pos ; $ sitemapIterator = new Definition ( '%sonata.seo.exporter.sitemap_source_iterator.class%' , [ new Reference ( $ connectionIteratorId ) , new Reference ( 'router' ) , $ sitemap [ 'route' ] , $ sitemap [ 'parameters' ] , ] ) ; $ sitemapIterator -> setPublic ( false ) ; $ container -> setDefinition ( $ sitemapIteratorId , $ sitemapIterator ) ; $ source -> addMethodCall ( 'addSource' , [ $ sitemap [ 'group' ] , new Reference ( $ sitemapIteratorId ) , $ sitemap [ 'types' ] ] ) ; } foreach ( $ config [ 'services' ] as $ service ) { $ source -> addMethodCall ( 'addSource' , [ $ service [ 'group' ] , new Reference ( $ service [ 'id' ] ) , $ service [ 'types' ] ] ) ; } }
Configure the sitemap source manager.

@param array            $config
@param ContainerBuilder $container
Configure the sitemap source manager .