如何将 SonataAdmin 表单和列表实现到具有不同逻辑和模板的自己的控制器中?
问问题
303 次
1 回答
0
我建议你看看 Sonata\AdminBundle\Controller\CRUDController,那里有你需要的一切:
假设您有一个“用户”实体的管理员,并且该管理员的服务名称是“myapp.admin.user”(在 services.xml 或类似文件中)
在您的控制器中,您可以通过以下方式获取管理类:
$user_admin = $this->container->get('sonata.admin.pool')
->getAdminByAdminCode('myapp.admin.user');
您可以通过以下方式获取管理表单:
$form = $user_admin->getForm();
如果您查看该类中的 listAction() 方法,您可以看到如何获取用于构建列表的数据网格:
$datagrid = $user_admin->getDatagrid();
对于模板,您可以扩展或调整 Sonta/AdminBundle/Resources/views/CRUD 中的模板以用于列表和编辑操作。
于 2012-11-14T14:08:41.313 回答