Templates 如何动态获取当前细枝模板的路径?
我可以从任何系统变量动态获取当前模板名称吗 例如,我有一个模板Templates 如何动态获取当前细枝模板的路径?,templates,symfony,twig,Templates,Symfony,Twig,我可以从任何系统变量动态获取当前模板名称吗 例如,我有一个模板AcmeDemoBundle:Blog:post.html.twig。我需要从模板中的变量中获取此名称,如果此模板将重命名为AcmeDemoBundle:Blog:article.html.twig,我也不需要在模板中手动更改其名称。我怎么做 另外,如果您想在twig中获得它,为我调试将非常有用: {{ app.request.attributes.get('_template') }} 将返回选定的模板名称。 但是如果打开调试器工
AcmeDemoBundle:Blog:post.html.twig
。我需要从模板中的变量中获取此名称,如果此模板将重命名为AcmeDemoBundle:Blog:article.html.twig
,我也不需要在模板中手动更改其名称。我怎么做
另外,如果您想在twig中获得它,为我调试将非常有用:
{{ app.request.attributes.get('_template') }}
将返回选定的模板名称。
但是如果打开调试器工具栏,您可以在那里找到所有可用的属性。细枝文件被转换为PHP类,并且
$this
在模板中作为\u self
提供
此外,每个生成的PHP类都有一个getTemplateName方法,例如:
public function getTemplateName()
{
return "SomeBundle:Directory:my_file.html.twig";
}
因此,要获取模板名称,只需调用:
{{ _self.templateName }}
我想你指的是
属性
而不是属性
?而且没有\u模板
键!可用的键有:\u controller
,\u locale
,\u route
和route\u params
谢谢Victor,那是个打字错误。但你在哪里查到的?如何呈现模板?因为你必须有那个值我用renderView
method渲染这个模板我不知道。美好的谢谢这正是我需要的。看起来在新的Twig2.x中“\u self”实际上是一个字符串,所以不需要调用额外的方法,只要{{u self}