我一直在寻找现在出错的日子;我遵循了奏鸣曲网站的文档,并重复了几次,但我的仪表板仍然是空的。在编写我的AdminClass
和Services
(和设置config.yml
)之后,我重新生成了实体并更新了我的模式,但是Sonata在我的数据库中为我想要在admin
中的实体创建了一张表。Symfony 2.3.6和Sonata管理软件包:空的仪表板,没有错误
这里是我的App/Config/Config.yml
(文件的顶部进口)
imports:
- { resource: parameters.yml }
- { resource: security.yml }
- { resource: @materniteamAppBundle/Resources/config/admin.yml }
- { resource: @materniteamUserBundle/Resources/config/admin.yml }
App/Config/Config.yml
(与索纳塔配置文件的底部)
# FOS USER
fos_user:
db_driver: orm
firewall_name: main
user_class: materniteam\UserBundle\Entity\User
# ADMIN SONATA
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:
sonata_admin:
title: Materniteam
security:
handler: sonata.admin.security.handler.role
acl_user_manager: fos_user.user_manager
这里是我的实体联系//src/APP/APPBundle/Admin/ContactAdmin.php
ADMIN类代码:
<?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')
;
}
}
?>
最后这里是我的服务ca LL //src/APP/APPBundle/Resources/config/admin.yml
services:
materniteam.app.admin.contact:
class: materniteam\AppBundle\Admin\ContactAdmin
tags:
- { name: sonata.admin, manager_type: orm, group: "App", label: "Contact" }
arguments: [ null, materniteam\AppBundle\Entity\Contact, SonataAdminBundle:CRUD ]
就像我说的,我没有错误,但仪表板仍然没有上市我的实体。如果您需要更多代码,只需询问我将编辑此消息。
如果任何奏鸣曲组成员阅读本:
请更新您的文档!
你应该移动你的答案到答案。顺便说一句,你是否指定'access_decision_manager: 策略:一致'按照http://sonata-project.org/bundles/admin/master/doc/reference/security.html#id1?使用'角色'选民应该工作,除非你已经与非超级管理员用户登录,并没有启用该管理员权限列表。 – TautrimasPajarskas