2013-07-16 43 views
0

我得到一個簡單的CRUD控制器與一個indexAction()列出所有項目。現在我想在另一個模板中渲染這個動作並改變它。渲染控制器操作時通過參數更改模板?

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

是否有預定義的參數來更改模板?當然很容易通過這個價值,但我不想重新發明輪子。

+0

呈現控制器,將所有內容委託給控制器動作。該動作決定要呈現哪個模板。 –

+0

當然,我想告訴控制器使用另一個模板。 – Daniel

回答

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, 
      ) 
     ); 
    } 
+0

謝謝,這就是我想知道的。 – Daniel

相關問題