我有一个带有indexAction()的简单CRUD控制器来列出所有项目。现在我想在另一个模板中渲染此动作并更改。
{{ render(controller("MyBundle:MyEntity:index")) }}
是否有预定义的参数来更改模板?当然很容易传递这个值,但我不想重新发明轮子。
答案 0 :(得分:1)
没有原生参数可以更改模板,但您可以将参数传递给render
方法定义的操作...
{ render(controller('MyBundle:MyEntity:index', { 'template': 'MyBundle:ControllerName:foo.html.twig' })) }}
...并在控制器操作中使用它来决定要渲染的模板。
class MyEntityController
{
public function indexAction($template = null)
{
// ... some code here
$template = $template ? $template : 'MyBundle:ControllerName:index.html.twig';
return $this->render(
$template,
array(
'variable' => $variable,
)
);
}