2014-02-26 37 views

回答

3

我假設你不打算使用...

...作爲你正在談論一個管理(網絡) - 界面。


答:

ContainerAware類(即控制器)...

...你可以重新使用默認的註冊形式和禁用驗證:

$user = new User(); 
$this->createForm(
    $this->get('fos_user.registration.form.type'), 
    $user, 
    array(
     'validation_groups' => false, 
    ) 
); 

下面介紹如何手動創建新的User並將其保存到數據庫中:

$om  = $this->container->get('doctrine.orm.entity_manager');  
$manager = $this->container->get('fos_user.user_manager'); 

$user = $manager->createUser(); 

$user 
    ->setUsername('nifr') 
    ->setEmail('[email protected]') 
    ->setPlainPassword('Insecure123') 
    ->setEnabled(true) 
; 

$om->persist($user); 
$om->flush(); 
+0

但我已經從Fosuser類擴展用戶類,並有額外的領域,所以我不得不自己創建新的表單。但我不確定何時提交我的新表單,然後如何與Fosuser數據一起保留新表單 – user1994660

+0

您在問題中沒有提及這一點。這是另一回事。我以目前的形式回答你的問題。我看不到您的用戶實體包含自定義字段。請打開一個新問題,詢問如何重新使用/擴展FOSUserBundle的註冊表單以包含自定義字段。 – nifr

相關問題