我有一个带有 indexAction() 的简单 CRUD 控制器来列出所有项目。现在我想在另一个模板中渲染这个动作并更改 .
{{ render(controller("MyBundle:MyEntity:index")) }}
是否有预定义的参数来更改模板?当然很容易传递这个值,但我不想重新发明轮子。
没有本地参数来更改模板,但您可以将参数传递给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,
)
);
}