Symfony3 - 奏鸣曲管理员 - 我想不添加新记录但改变记录

问题描述:

我有一点问题。我有实体Contact,其中in为addressphoneemail字段。我不想向我的数据库添加新记录,但可能会在SonataAdmin中更改我的记录。可能这是奏鸣曲管理软件包中模板的问题。Symfony3 - 奏鸣曲管理员 - 我想不添加新记录但改变记录

我的服务:

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') 
    ; 
} 

请帮助我:)

您可能需要从Symfony的/ SonataAdmin激活安全系统,使一定要拒绝(即没有设置)这些权限给用户,以后Sonata能够自动在你的管理员中隐藏这个动作。

这里解释了如何使用角色或acl:https://sonata-project.org/bundles/admin/master/doc/reference/security.html#security-handlers