1
votes

I create custom controller(extending Sonata\AdminBundle\Controller\CRUDController) and action.

When render this action {{render(controller('MainBundle:SonataAdmin/Order:searchCertificate'))}}

I get Symfony error:

An exception has been thrown during the rendering of a template ("There is no _sonata_admin defined for the controller MainBundle\Controller\SonataAdmin\OrderController and the current route").

2

2 Answers

3
votes

I found answer in official documentation:

If you want to render a custom controller action in a template by using the render function in twig you need to add _sonata_admin as an attribute. For example; {{ render(controller('AppBundle:XxxxCRUD:comment', {'_sonata_admin': 'sonata.admin.xxxx' })) }}. This has to be done because the moment the rendering should happen the routing, which usually sets the value of this parameter, is not involved at all, and then you will get an error "There is no _sonata_admin defined for the controller AppBundleControllerXxxxCRUDController and the current route ' '."

0
votes

i have solved this Problem by setting the _sonata_admin in the comming request:

with normal Controller:

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