我有点问题。我有实体Contact
,其中包括address
,phone
和email
字段。我不想在我的数据库中添加新记录,但可能会更改SonataAdmin
中的记录。可能这是sonata管理包中模板的问题。
我的服务:
services:
admin.contact:
class: PizzaBundle\Admin\ContactAdmin
arguments: [~, PizzaBundle\Entity\Contact, ~]
tags:
- { name: sonata.admin, manager_type: orm, group: Information, label: Contact }
这是我的班级ContactAdmin
:
public function configureFormFields(FormMapper $formMapper) {
$formMapper
->with('Contact', array(
'class' => 'col-md-8',
'box_class' => 'box box-solid box-success',
'description' => 'Change your contact'))
->add('address', 'text')
->add('phone', 'text')
->add('email', 'text')
->end();
}
protected function configureDatagridFilters(DatagridMapper $datagridMapper)
{
$datagridMapper
->add('address')
->add('phone')
->add('email')
;
}
protected function configureListFields(ListMapper $listMapper)
{
$listMapper
->addIdentifier('address')
->addIdentifier('phone')
->addIdentifier('email')
;
}
请帮帮我:)
答案 0 :(得分:1)
您可能需要从Symfony / SonataAdmin激活安全系统,并确保拒绝(即没有设置)这些权限给用户,以后Sonata能够自动在您的管理员中隐藏此操作。
这里解释了如何使用角色或acl:https://sonata-project.org/bundles/admin/master/doc/reference/security.html#security-handlers