我有一些动作,我希望返回不同的响应,具体取决于调用此动作的页面。
这是一个动作
/**
* @Route("/collection_create_submit", name="collection_create_submit")
*/
public function createSubmitAction(Request $request)
{
$collection = new Collection();
/* other code*/
if (???){
return $this->render('@Collection/Collection/createSubmit.html.twig',
array('collection' => $collection));
}else{
return array('collection' => $collection);
}
}
}
因此,例如,如果在list.html.twig上调用了action,我想渲染createSubmit.html.twig模板。如果在show.html.twig上调用它,我只想获取Collection对象。
答案 0 :(得分:1)
正如评论中已经提到的,您可以轻松地使用参数。
public function createSubmitAction(Request $request, $render = false)
{
$collection = new Collection();
/* other code*/
if ($render !== false){
return $this->render('@Collection/Collection/createSubmit.html.twig',
array('collection' => $collection));
}
else{
return array('collection' => $collection);
}
}