【问题标题】:Twig/Symfony2: Search multiple template directories?Twig/Symfony2:搜索多个模板目录?
【发布时间】:2013-04-01 17:49:24
【问题描述】:

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

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

【问题讨论】:

    标签: templates symfony twig


    【解决方案1】:

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

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

    【讨论】:

    • 我应该再次解析路径并重建它吗?有没有办法将子路径注入现有的逻辑?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-08-07
    • 2012-02-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多