无法在SonataAdminBundle模板中使用渲染(控制器)

时间:2017-05-10 12:13:51

标签: symfony sonata

我创建自定义控制器(扩展Sonata \ AdminBundle \ Controller \ CRUDController)和操作。

渲染此操作时{{render(controller('MainBundle:SonataAdmin/Order:searchCertificate'))}}

我得到Symfony错误:

  

在渲染模板期间抛出了异常("没有为控制器_sonata_admin定义MainBundle\Controller\SonataAdmin\OrderController和当前路由")。

2 个答案:

答案 0 :(得分:3)

我在官方documentation找到了答案:

  

如果要在模板中呈现自定义控制器操作   使用twig中的render函数,你需要添加_sonata_admin作为   属性。例如; {{   渲染(控制器('AppBundle:XxxxCRUD:comment',{'_ echo_admin':   'sonata.admin.xxxx'}))}}。这必须要做,因为那一刻   渲染应该发生路由,通常设置值   此参数根本不涉及,然后您将收到错误   “没有为控制器定义_sonata_admin   AppBundleControllerXxxxCRUDController和当前路线''。“

答案 1 :(得分:0)

我通过在提交请求中设置_sonata_admin解决了这个问题:

使用普通控制器:

$request->request->set('_sonata_admin','admin.template');