不能在SonataAdminBundle模板中使用渲染(控制器)



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

将此操作呈现{{render(controller('MainBundle:SonataAdmin/Order:searchCertificate'))}}

我收到Symfony错误:

呈现

模板期间引发异常("没有为控制器MainBundleControllerSonataAdminOrderController和当前路由定义_sonata_admin"(。

我在官方文档中找到了答案:

如果要通过以下方式在模板中呈现自定义控制器操作 使用 Twig 中的渲染函数,您需要将_sonata_admin添加为 属性。例如;{{ render(controller('AppBundle:XxxxCRUD:comment', {'_sonata_admin': 'sonata.admin.xxxx' }(( }}.必须这样做,因为当 渲染应该发生路由,这通常设置 这个参数,根本不涉及,然后你会得到一个错误 "没有为控制器定义_sonata_admin AppBundleControllerXxxxCRUDController 和当前路由 ''.">

我已经通过在即将到来的请求中设置_sonata_admin来解决此问题:

使用普通控制器:

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

相关内容

  • 没有找到相关文章

最新更新