我可以从任何系统变量动态获取当前模板名称吗?
例如,我有模板AcmeDemoBundle:Blog:post.html.twig
。我需要从模板中的变量中获取此名称,如果此模板将重命名为AcmeDemoBundle:Blog:article.html.twig
- 我也不需要手动更改模板中的名称。我该怎么办?
P.S。调试对我来说很有用
答案 0 :(得分:7)
Twig文件转换为PHP类,$this
在模板中以_self
形式提供。
此外,每个生成的PHP类都有一个getTemplateName方法,例如:
public function getTemplateName()
{
return "SomeBundle:Directory:my_file.html.twig";
}
因此,要获取模板名称,您只需要致电:
{{ _self.templateName }}
答案 1 :(得分:0)
如果你想在树枝上拿到它:
{{ app.request.attributes.get('_template') }}
这将返回所选的模板名称。 但是,如果打开调试器工具栏,则可以找到所有可用属性。