0

如何将 SonataAdmin 表单和列表实现到具有不同逻辑和模板的自己的控制器中?

4

1 回答 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 回答