Php 将父格式从@Template更改为render

Php 将父格式从@Template更改为render,php,symfony,Php,Symfony,将应用程序从Symfony 2.8更新为Symfony 3.4时,\u格式的处理发生了变化,因此我想将@Template更改为如下所示的渲染方式。 但是,因为细枝是以父格式更改的 无法在返回BaseStaffController.php时指定细枝文件。 有什么好办法吗 控制器 /** *@Route(“/staff/”,默认值={u格式=“html”},要求={{u格式=“html | csv”}) *@Method(“GET”) * *@Template(“@AppBundle/Hq/Ana

将应用程序从Symfony 2.8更新为Symfony 3.4时,
\u格式的处理发生了变化,因此我想将@Template更改为如下所示的渲染方式。
但是,因为细枝是以父格式更改的 无法在返回BaseStaffController.php时指定细枝文件。
有什么好办法吗

控制器

/**
*@Route(“/staff/”,默认值={u格式=“html”},要求={{u格式=“html | csv”})
*@Method(“GET”)
*
*@Template(“@AppBundle/Hq/Analytics/staff.html.twig”)
*/
公共功能staffAction(请求$Request)
{
返回父项::staffAction($request);
}
基站控制器

/**
*/
公共功能staffAction(请求$Request)
{
返回数组(
“searchForm”=>$searchForm->createView(),
“分页”=>$pagination,
“否”=>美元否
);
}

如果
parent::staffAction
只是返回要传递给细枝模板的变量数组,那么您只需将其传递给
render
方法即可

/**
 * @Route("/staff/", defaults={"_format"="html"}, requirements={"_format"="html|csv"})
 * @Method("GET")
 *
 */
public function staffAction(Request $request)
{
    return $this->render("Hq/Analytics/staff.html.twig", parent::staffAction($request));
}

根据@Arleghix的回答,这是一个我实际上可以移动的代码

/**
*@Route(“/staff/{{u-format}”,默认值={{u-format=“html”},要求={{u-format=“html | csv”})
*@Method(“GET”)
*
*/
公共函数statfaction(请求$Request,$\格式)
{
返回$this->render('@AppBundle/Hq/Analytics/staff.$\格式'.twig',parent::staffAction($request,$\格式));
}

我会考虑从
@Template
注释转移,而使用
$this->render
您可以在此处找到类似的问题-谢谢您的回答。这很有帮助。由于我添加了一些代码,我将在另一个答案中描述实现的代码。