diff --git a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php index 4880d2534d8f5..1c94bfa38b181 100644 --- a/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php +++ b/src/Symfony/Bundle/TwigBundle/DependencyInjection/Configuration.php @@ -158,6 +158,9 @@ private function addTwigOptions(ArrayNodeDefinition $rootNode) ->end() ->prototype('variable')->end() ->end() + ->scalarNode('default_path') + ->defaultValue('%kernel.project_dir%/templates') + ->end() ->end() ; } diff --git a/src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php b/src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php index b3cde40b6f14e..30fe4d4f88dfa 100644 --- a/src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php +++ b/src/Symfony/Bundle/TwigBundle/DependencyInjection/TwigExtension.php @@ -122,12 +122,16 @@ public function load(array $configs, ContainerBuilder $container) foreach ($bundle['paths'] as $path) { $twigFilesystemLoaderDefinition->addMethodCall('addPath', array($path, $namespace)); } + + $twigFilesystemLoaderDefinition->addMethodCall('addPath', array($config['default_path'].'/bundles/'.$namespace, $namespace)); } if ($container->fileExists($dir = $container->getParameter('kernel.root_dir').'/Resources/views', false)) { $twigFilesystemLoaderDefinition->addMethodCall('addPath', array($dir)); } + $twigFilesystemLoaderDefinition->addMethodCall('addPath', array($config['default_path'])); + if (!empty($config['globals'])) { $def = $container->getDefinition('twig'); foreach ($config['globals'] as $key => $global) {