如何覆盖twig本机函数?

时间:2015-08-03 11:17:46

标签: php symfony twig

我想覆盖twig函数includeextend

原因是我的包提供了几个完全不同的主题,但文件名和树结构总是相同的。

E.g。当主题设置为 bootstrap 且所需文件名为@ACMEBundle/index.html.twig时,应将其转换为@ACMEBundle/theme_bootstrap/index.html.twig

如果主题是' ui'最后的名字是@ACMEBundle/theme_ui/index.html.twig

我在这里看到2个解决方案:

  1. 完全覆盖extendsinclude,以便我像{% '@ACMEBundle/index.html.twig' %}

  2. 一样使用它
  3. 创建新的extends_theme_awareinclude_theme_aware函数,这些函数会转换模板的名称并使用本机函数来完成工作。

  4. 我怎样才能实现这个目标?

    感谢。

0 个答案:

没有答案