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

时间:2014-06-17 09:36:07

标签: templates symfony twig

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

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

P.S。调试对我来说很有用

2 个答案:

答案 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') }}

这将返回所选的模板名称。 但是,如果打开调试器工具栏,则可以找到所有可用属性。