2017-05-06 6 views
1

少し問題があります。エンティティContactは、address,phoneおよびemailフィールドです。データベースに新しいレコードを追加しないでくださいが、SonataAdminのレコードが変更される可能性があります。おそらく、これはソナタ管理バンドルのテンプレートで問題になるでしょう。Symfony3 - Sonata Admin - 新しいレコードを追加するのではなく、レコードを変更します。

マイサービス:

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

は私が:)助けてください

答えて

1

あなたはsymfonyの/ SonataAdminからセキュリティシステムを活性化して作る必要があるかもしれませんこれらのアクセス権をユーザーに拒否する(つまり設定しない)ことを忘れないでください。後でSonataは自動的にこのアクションをあなたの管理者に隠すことができます。

ここでは、ロールまたはaclを使用してその方法を説明しています。https://sonata-project.org/bundles/admin/master/doc/reference/security.html#security-handlers

関連する問題