Symfony 如何在细枝扩展中呈现控制器动作?

Symfony 如何在细枝扩展中呈现控制器动作?,symfony,Symfony,我有一个twig扩展,它有一个方法,使用来自不同控制器的另一个方法,通过依赖项jsonResponse呈现json输出 如何在细枝扩展中渲染控制器 下面的代码似乎不起作用,因为render()需要一个视图文件而不是控制器。我现在指的是一个控制器 class AreaExtension extends \Twig_Extension { public function add() { $outputJson = $this->container->g

我有一个twig扩展,它有一个方法,使用来自不同控制器的另一个方法,通过依赖项jsonResponse呈现json输出

如何在细枝扩展中渲染控制器

下面的代码似乎不起作用,因为render()需要一个视图文件而不是控制器。我现在指的是一个控制器

class AreaExtension extends \Twig_Extension {

    public function add()
    {

        $outputJson = $this->container->get('templating')->render(new ControllerReference('CMSCoreBundle:Area:index'));
    }
}
其中
$this->handler
片段.handler
服务

就你而言:

$outputJson = $this->container->get('fragment.handler')->render(new ControllerReference('CMSCoreBundle:Area:index'));
您可以在此symfony细枝扩展中找到完整示例,请参阅: 和

这很有效。如何将参数发送到控制器方法?我的方法看起来像公共函数indexAction($page){}我已经发现我必须添加如下参数:newcontrollerreference('CMSCoreBundle:Area:add',array('param1'=>$param1));谢谢你的帮助!
$outputJson = $this->container->get('fragment.handler')->render(new ControllerReference('CMSCoreBundle:Area:index'));