deblan.tv/vendor/trinity/src/Trinity/Bundle/ContentManagerBundle/DependencyInjection/TrinityContentManagerExtension.php

40 lines
1.5 KiB
PHP

<?php
namespace Trinity\Bundle\ContentManagerBundle\DependencyInjection;
use Symfony\Component\DependencyInjection\ContainerBuilder;
use Symfony\Component\Config\FileLocator;
use Symfony\Component\HttpKernel\DependencyInjection\Extension;
use Symfony\Component\DependencyInjection\Loader;
/**
* This is the class that loads and manages your bundle configuration
*
* To learn more see {@link http://symfony.com/doc/current/cookbook/bundles/extension.html}
*/
class TrinityContentManagerExtension extends Extension
{
/**
* {@inheritDoc}
*/
public function load(array $configs, ContainerBuilder $container)
{
$configuration = new Configuration();
$config = $this->processConfiguration($configuration, $configs);
$loader = new Loader\XmlFileLoader($container, new FileLocator(__DIR__.'/../Resources/config'));
$loader->load('services.xml');
$container->setParameter('trinity_content_manager.page', isset($config['page']) ? $config['page'] : array());
$container->setParameter('trinity_content_manager.url_resolver', isset($config['url_resolver']) ? $config['url_resolver'] : array());
$container->getDefinition('page.decorator_strategy')
->replaceArgument(0, $config['ignore_routes'])
->replaceArgument(1, $config['ignore_route_patterns'])
->replaceArgument(2, $config['ignore_uri_patterns'])
;
$container->setParameter('trinity_content_manager.index_use_nav_name', $config['index_use_nav_name']);
}
}