0

我有一个带有 indexAction() 的简单 CRUD 控制器来列出所有项目。现在我想在另一个模板中渲染这个动作并更改 .

{{ render(controller("MyBundle:MyEntity:index")) }}

是否有预定义的参数来更改模板?当然很容易传递这个值,但我不想重新发明轮子。

4

1 回答 1

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,
             )
         );
     }
于 2013-07-16T13:58:59.550 回答