2012-07-26 65 views
1

的我尝试在我的RegistrationFormType获取对象会话,但我得到这个错误:Warning: Missing argument 2 for Meet\MembreBundle\Form\Type\RegistrationFormType::__construct()Symfony2中获取会话中RegistrationFormType FosUserBundle

我RegistrationFormType:

namespace Meet\MembreBundle\Form\Type; 
use Symfony\Component\Form\FormBuilder; 
use Symfony\Component\Form\FormBuilderInterface; 
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType; 

    class RegistrationFormType extends BaseType 
    { 
     private $session; 
     public function __construct($session, $class) 
     { 
      $this->session = $session; 
      parent::__construct($class); 
     } 

     public function buildForm(FormBuilder $builder, array $options) 
     { 
      parent::buildForm($builder, $options); 
      $locale = $this->session->getLocale(); 
      var_dump($locale); 

     } 

     public function getName() 
     { 
      return 'meet_user_registration'; 
     } 
    } 

我config.yml

fos_user: 
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' 
    firewall_name: main 
    # Permet de renseigner la nouvelle entity utilisateur 
    user_class: Meet\MembreBundle\Entity\Membre 
    registration: 
     form: 
      type: meet_user_registration 
services: 
    meet_user_registration: 
    class: Meet\MembreBundle\Form\Type\RegistrationFormType 
    arguments: [@session, %fos_user.model.user.class%] 
    tags: 
     - { name: form.type, alias: my_user_registration } 
+0

这不是会话的问题,它是缺少'%fos_user.model.user.class%'参数的问题 – 2012-07-26 13:33:12

+0

我怎样才能获得我的表单中的会话对象? – user1364017 2012-07-26 13:37:00

回答

0

对我来说,看起来你忘了定义%fos_user.model.user.class%参数

你跟着these steps

+0

我已经按照这些步骤,因为FosUserBundle已经工作,我怎么能定义fos_user.model.user.class? – user1364017 2012-07-26 13:43:51

+0

@ user1364017就在'fos_user'部分添加'user_class:Meet \ MembreBundle \ Entity \ User'或者任何你想要的东西;) – 2012-07-26 13:46:48

+0

它已经完成了吗?看看我的config.yml – user1364017 2012-07-26 13:48:45