Php 将父格式从@Template更改为render
将应用程序从Symfony 2.8更新为Symfony 3.4时,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
\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
您可以在此处找到类似的问题-谢谢您的回答。这很有帮助。由于我添加了一些代码,我将在另一个答案中描述实现的代码。