Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/templates/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Templates 如何动态获取当前细枝模板的路径?_Templates_Symfony_Twig - Fatal编程技术网

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}