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

时间:2013-04-01 17:49:24

标签: 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/%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

最简单的方法是什么?在config或事件监听器中的某个位置添加路径或覆盖TemplateLoaderClass?

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

1 个答案:

答案 0 :(得分:0)

绑定一个事件监听器,该监听器将Templating服务作为参数并修改kernel.view事件中的模板名称。

请参阅https://stackoverflow.com/a/12403233/1649758以获取此代码示例。