Symfony 2.3.6和Sonata管理包:仪表板为空,无错误

Symfony 2.3.6和Sonata管理包:仪表板为空,无错误,symfony,sonata-admin,Symfony,Sonata Admin,几天来,我一直在寻找哪里出了问题;我按照索纳塔网站上的文档进行了多次重复,但我的仪表板仍然是空的。在编写了我的AdminClass和Services(并设置了config.yml)之后,我重新生成了实体并更新了模式,但Sonata在我的数据库中为我想要加入admin的实体创建了一个表 这是我的App/Config/Config.yml(导入文件顶部)代码 App/Config/Config.yml(索纳塔配置文件的底部) 下面是我的实体联系人管理类//src/APP/APPBundle/Admi

几天来,我一直在寻找哪里出了问题;我按照索纳塔网站上的文档进行了多次重复,但我的仪表板仍然是空的。在编写了我的
AdminClass
Services
(并设置了
config.yml
)之后,我重新生成了实体并更新了模式,但Sonata在我的数据库中为我想要加入
admin
的实体创建了一个表

这是我的
App/Config/Config.yml
(导入文件顶部)代码

App/Config/Config.yml
(索纳塔配置文件的底部)

下面是我的实体联系人管理类
//src/APP/APPBundle/Admin/ContactAdmin.php

<?php

   namespace materniteam\AppBundle\Admin;

   use Sonata\AdminBundle\Admin\Admin;
   use Sonata\AdminBundle\Datagrid\ListMapper;
   use Sonata\AdminBundle\Datagrid\DatagridMapper;
   use Sonata\AdminBundle\Form\FormMapper;

  class ContactAdmin extends Admin
  {
    protected function configureFormFields(FormMapper $formMapper)
   {
    $formMapper
        ->with('General')
            ->add('prenom')
            ->add('nom')
            ->add('adresse')
            ->add('codePostal')
            ->add('ville')
        ->end()
    ;
}

protected function configureListFields(ListMapper $listMapper)
{
    $listMapper
        ->addIdentifier('Nom')
        ->add('prenom')
        ->add('adresse')
        ->add('codePostal')
        ->add('ville')
        ->add('_action', 'actions', array(
            'actions' => array(
            'view' => array(),
            'edit' => array(),
            'delete' => array(),
            )
        ))
    ;
}

protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
    $datagridMapper
        ->add('prenom')
        ->add('nom')
        ->add('adresse')
    ;
}
}
?>
正如我所说,我没有错误,但是仪表板仍然没有列出我的实体。如果您需要更多的代码,请询问,我将编辑此消息

如果索纳塔乐队的任何成员正在阅读:


请更新您的文档

在sonata admin block中尝试此功能

   sonata_block:
     default_contexts: [cms]
     blocks:
       sonata.admin.block.admin_list:
            contexts:   [admin]
       sonata.block.service.text:
       sonata.block.service.action:
       sonata.block.service.rss:

似乎索纳塔的安全部分出现了问题

在我的config.yml中,我使用以下值设置了sonata的安全性:

    security:
    handler: sonata.admin.security.handler.role
它告诉sonata使用基于用户角色的安全性(我认为这很好) 我成功地在sonata中看到了我的实体,用以下内容替换了处理程序

    security:
    handler: sonata.admin.security.handler.noop

它告诉索纳塔使用基于Symfony的安全性。(顺便说一句,我已经将我的用户提升为角色_ADMIN以继续访问sonata dashboard)

您应该将您的答案移动到answer中。顺便说一句,您是否根据指定了
访问权\u决策\u经理:策略:一致
?使用
角色
投票者应该可以工作,除非您使用非超级管理员用户登录并且没有为该管理员启用列表权限。
   sonata_block:
     default_contexts: [cms]
     blocks:
       sonata.admin.block.admin_list:
            contexts:   [admin]
       sonata.block.service.text:
       sonata.block.service.action:
       sonata.block.service.rss:
    security:
    handler: sonata.admin.security.handler.role
    security:
    handler: sonata.admin.security.handler.noop