@@ -92,6 +92,13 @@ public function load(array $configs, ContainerBuilder $container)
9292 $ dir = dirname ($ reflection ->getFileName ()).'/Resources/views ' ;
9393 if (is_dir ($ dir )) {
9494 $ this ->addTwigPath ($ twigFilesystemLoaderDefinition , $ dir , $ bundle );
95+
96+ $ classMock = new $ class ();
97+ $ parent = $ classMock ->getParent ();
98+
99+ if ($ parent ) {
100+ $ this ->prependTwigPath ($ twigFilesystemLoaderDefinition , $ dir , $ parent );
101+ }
95102 }
96103 $ container ->addResource (new FileExistenceResource ($ dir ));
97104 }
@@ -140,11 +147,23 @@ public function load(array $configs, ContainerBuilder $container)
140147
141148 private function addTwigPath ($ twigFilesystemLoaderDefinition , $ dir , $ bundle )
142149 {
143- $ name = $ bundle ;
150+ $ name = $ this ->stripBundleName ($ bundle );
151+ $ twigFilesystemLoaderDefinition ->addMethodCall ('addPath ' , array ($ dir , $ name ));
152+ }
153+
154+ private function prependTwigPath ($ twigFilesystemLoaderDefinition , $ dir , $ bundle )
155+ {
156+ $ name = $ this ->stripBundleName ($ bundle );
157+ $ twigFilesystemLoaderDefinition ->addMethodCall ('prependPath ' , array ($ dir , $ name ));
158+ }
159+
160+ private function stripBundleName ($ name )
161+ {
144162 if ('Bundle ' === substr ($ name , -6 )) {
145163 $ name = substr ($ name , 0 , -6 );
146164 }
147- $ twigFilesystemLoaderDefinition ->addMethodCall ('addPath ' , array ($ dir , $ name ));
165+
166+ return $ name ;
148167 }
149168
150169 /**
0 commit comments