如何动态获取当前树枝模板的路径?

Vic*_*sky 3 templates symfony twig

我可以从任何系统变量动态获取当前模板名称吗?

例如,我有模板AcmeDemoBundle:Blog:post.html.twig.我需要从模板中的变量获取此名称,如果此模板将重命名为AcmeDemoBundle:Blog:article.html.twig- 我也不需要手动更改模板中的名称.我该怎么做?

PS对我来说调试会很有用

Ala*_*blo 7

Twig文件转换为PHP类,并在模板中$this可用_self.

此外,每个生成的PHP类都有一个getTemplateName方法,例如:

public function getTemplateName()
{
    return "SomeBundle:Directory:my_file.html.twig";
}
Run Code Online (Sandbox Code Playgroud)

因此,要获取模板名称,您只需要调用:

{{ _self.templateName }}
Run Code Online (Sandbox Code Playgroud)

  • 看起来在新的Twig 2.x中,“ _ self”实际上是一个字符串,因此无需调用额外的方法,只需`{{_self}}`。 (2认同)