Templates Twig/Symfony2:搜索多个模板目录?

Templates Twig/Symfony2:搜索多个模板目录?,templates,symfony,twig,Templates,Symfony,Twig,我想做的很简单,但我还没有找到解决办法。在我的应用程序中,我想按主题、语言和范围组织所有模板。为此,有必要为正确的模板构建和搜索多个路径 例如,请求Acme:Default:editAction,默认情况下应加载Acme:Default:edit.html.twig模板 APP_PATH/src/Acme/DefaultBundle/Resources/views/Default/edit.html.twig 现在我想改变这种行为,并在多个路径中按给定顺序搜索该模板 1. VIEWS_PATH

我想做的很简单,但我还没有找到解决办法。在我的应用程序中,我想按主题、语言和范围组织所有模板。为此,有必要为正确的模板构建和搜索多个路径

例如,请求Acme:Default:editAction,默认情况下应加载Acme:Default:edit.html.twig模板

APP_PATH/src/Acme/DefaultBundle/Resources/views/Default/edit.html.twig
现在我想改变这种行为,并在多个路径中按给定顺序搜索该模板

1. VIEWS_PATH/%theme%/%lang%/%scope%/Default/edit.html.twig
2. VIEWS_PATH/%theme%/%lang%/Default/edit.html.twig
3. VIEWS_PATH/%theme%/Default/edit.html.twig
4. VIEWS_PATH/Default/edit.html.twig
最简单的方法是什么?在配置或事件侦听器中的某个点添加路径,或者重写TemplateLoaderClass


请不要推荐任何捆绑包。我只是想了解Symfony(2.1)/Twig在这一点上是如何工作的。

绑定一个以模板服务为参数的事件侦听器,并修改kernel.view事件上的模板名称


请参阅以获取此示例的代码。

我应该再次解析该路径并重建它吗?是否无法将子路径注入现有逻辑?