[TwigBundle] fixed usage when Templating is not installed
This commit is contained in:
parent
23294e59ca
commit
6aa98d163d
|
@ -45,7 +45,7 @@ class ExtensionPass implements CompilerPassInterface
|
|||
if ($container->has('form.extension')) {
|
||||
$container->getDefinition('twig.extension.form')->addTag('twig.extension');
|
||||
$reflClass = new \ReflectionClass('Symfony\Bridge\Twig\Extension\FormExtension');
|
||||
$container->getDefinition('twig.loader.filesystem')->addMethodCall('addPath', array(dirname(dirname($reflClass->getFileName())).'/Resources/views/Form'));
|
||||
$container->getDefinition('twig.loader.native_filesystem')->addMethodCall('addPath', array(dirname(dirname($reflClass->getFileName())).'/Resources/views/Form'));
|
||||
}
|
||||
|
||||
if ($container->has('fragment.handler')) {
|
||||
|
@ -88,11 +88,13 @@ class ExtensionPass implements CompilerPassInterface
|
|||
$container->getDefinition('twig.extension.debug')->addTag('twig.extension');
|
||||
}
|
||||
|
||||
if (!$container->has('templating')) {
|
||||
$loader = $container->getDefinition('twig.loader.native_filesystem');
|
||||
$loader->addTag('twig.loader');
|
||||
$loader->setMethodCalls($container->getDefinition('twig.loader.filesystem')->getMethodCalls());
|
||||
$twigLoader = $container->getDefinition('twig.loader.native_filesystem');
|
||||
if ($container->has('templating')) {
|
||||
$loader = $container->getDefinition('twig.loader.filesystem');
|
||||
$loader->setMethodCalls($twigLoader->getMethodCalls());
|
||||
|
||||
$twigLoader->clearTag('twig.loader');
|
||||
} else {
|
||||
$container->setAlias('twig.loader.filesystem', new Alias('twig.loader.native_filesystem', false));
|
||||
}
|
||||
|
||||
|
|
|
@ -77,7 +77,7 @@ class TwigExtension extends Extension
|
|||
$envConfiguratorDefinition->replaceArgument(4, $config['number_format']['decimal_point']);
|
||||
$envConfiguratorDefinition->replaceArgument(5, $config['number_format']['thousands_separator']);
|
||||
|
||||
$twigFilesystemLoaderDefinition = $container->getDefinition('twig.loader.filesystem');
|
||||
$twigFilesystemLoaderDefinition = $container->getDefinition('twig.loader.native_filesystem');
|
||||
|
||||
// register user-configured paths
|
||||
foreach ($config['paths'] as $path => $namespace) {
|
||||
|
|
|
@ -10,8 +10,6 @@
|
|||
<tag name="twig.loader"/>
|
||||
</service>
|
||||
|
||||
<service id="twig.loader" alias="twig.loader.filesystem" />
|
||||
|
||||
<service id="templating.engine.twig" class="%templating.engine.twig.class%" public="false">
|
||||
<argument type="service" id="twig" />
|
||||
<argument type="service" id="templating.name_parser" />
|
||||
|
|
|
@ -53,6 +53,7 @@
|
|||
|
||||
<service id="twig.loader.native_filesystem" class="Twig_Loader_Filesystem" public="false">
|
||||
<argument type="collection" />
|
||||
<tag name="twig.loader"/>
|
||||
</service>
|
||||
|
||||
<service id="twig.loader.chain" class="%twig.loader.chain.class%" public="false"/>
|
||||
|
|
|
@ -187,7 +187,7 @@ class TwigExtensionTest extends TestCase
|
|||
$this->loadFromFile($container, 'extra', $format);
|
||||
$this->compileContainer($container);
|
||||
|
||||
$def = $container->getDefinition('twig.loader.filesystem');
|
||||
$def = $container->getDefinition('twig.loader.native_filesystem');
|
||||
$paths = array();
|
||||
foreach ($def->getMethodCalls() as $call) {
|
||||
if ('addPath' === $call[0] && false === strpos($call[1][0], 'Form')) {
|
||||
|
|
Reference in New Issue