【问题标题】:How to Implement SonataAdmin forms in own controllers and templates如何在自己的控制器和模板中实现 SonataAdmin 表单
【发布时间】:2012-10-11 10:22:56
【问题描述】:

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

【问题讨论】:

    标签: php symfony symfony-sonata sonata-admin


    【解决方案1】:

    我建议你看看 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 中的模板以用于列表和编辑操作。

    【讨论】:

      猜你喜欢
      • 2015-03-11
      • 2014-06-27
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-04-12
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多