我想创建一个新TwigLoader类并让它在 SymfonyTwigLoader类之前触发。
这个Stackoverflow 问题/答案很有帮助,但是我无法定义权重,因此只有在 Symfony 的加载器找不到模板时我的自定义加载器才会触发。
我希望该逻辑包含在我的包中,所以我不想:
TwigLoader定义我的习惯app/config.ymlTwigLoader目前,Symfony Twig 加载器要么使用默认的 Twig 加载机制,要么如果路径类似于@Bundle:Controller:Action.format.engine将尝试加载文件@Bundle/Resources/views/Controller/Action.html.twig。
就我而言,我希望能够映射@Bundle:Controller:Action.format.engine到一个完全不同的路径,如果该路径与现有文件不匹配,那么它应该依赖于默认行为(Symfony 的 Twig Loader)。
可能还有其他方法来解决该问题,但这似乎是完成任务的最合适方法。
我正在构建一个 BaseThemeBundle,我将在我的开源论坛项目中使用它,我希望能够轻松地将主题与捆绑包隔离,并可能做各种很酷的事情。:)
到目前为止,我已经创建了一个自定义的 Twig 加载器,看起来像Symfony 的 Twig 加载器。我创建了一个自定义模板定位器。
有什么想法、解决方案或改进吗?
我编写了自定义的Twig加载器,可以从数据库中获取模板,它可以在Twig"独立"库中运行.现在我想在Symfony2中使用它,但无法通过Symfony2设置找到更改Twig加载器的位置.
请提前获取任何提示