0

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

例如,请求 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 是如何工作的。

4

1 回答 1

0

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

有关此代码示例,请参阅https://stackoverflow.com/a/12403233/1649758

于 2013-04-01T21:15:39.177 回答