2016-12-12 16 views
0

私はバックエンド(ユーザ名、パスワード、カスタムフィールド)で、管理者がユーザーを編集しよう:symfonyの3 FosUserBundle編集プロファイル

$form = $this->createForm(UserEditType::class, $idUser, array('class' => 'AppBundle/Entity/User')); 
    if ($request->getMethod() == 'POST') { 
     $form->handleRequest($request); 
     if ($form->isValid()) { 

      $this->get('fos_user.user_manager')->updateUser($idUser); 


      return $this->redirect($this->generateUrl('user_liste')); 
     } 
    } 

    return $this->render(':User:userEdit.html.twig', array('form' => $form->createView())); 

しかし、私はエラーを持っている:

警告:行方不明引数1は AppBundle \ Form \ User \ UserEditType :: __ construct()

My userEdittype:

<?php 

namespace AppBundle\Form\User; 

use Symfony\Component\Form\AbstractType; 
use Symfony\Component\Form\Extension\Core\Type\ChoiceType; 
use Symfony\Component\Form\Extension\Core\Type\SubmitType; 
use Symfony\Component\Form\FormBuilderInterface; 
use Symfony\Component\OptionsResolver\OptionsResolver; 
use Symfony\Bridge\Doctrine\Form\Type\EntityType; 
use Symfony\Component\Form\Extension\Core\Type\TextType; 
use Symfony\Component\Validator\Constraints\NotBlank; 
use Doctrine\ORM\EntityRepository; 
use Symfony\Component\Form\Extension\Core\Type\CollectionType; 
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseRegistrationFormType; 

class UserEditType extends BaseRegistrationFormType 
{ 


    public function buildForm(FormBuilderInterface $builder, array $options) 
    { 


     $builder 
      ->add('nom', TextType::class, array(
        'constraints' => array(
         new NotBlank(), 
        ) 
       ) 
      ) 
      ->add('prenom', TextType::class, array(
        'constraints' => array(
         new NotBlank(), 
        ) 
       ) 
      ); 

    } 

    public function getBlockPrefix() 
    { 
     return 'app_user_profile'; 
    } 

    /** 
    * @param OptionsResolver $resolver 
    */ 
    public function configureOptions(OptionsResolver $resolver) 
    { 
     $resolver->setDefaults(array('data_class' => 'AppBundle\Entity\User')); 
    } 
} 

答えて

0

デフォルトFOS\UserBundle\Form\Type\RegistrationFormType::__constructは、引数としてUserクラス名が必要です。すでにconfigureOptionsの中に入力しているので、UserEditTypeの__constructを上書きできます。

class UserEditType extends BaseRegistrationFormType 
{ 
    public function __construct(/* nothing */) 
    { 
    } 

    // ... 
+0

ありがとう、私の友人! – Hesiode

関連する問題