5

FosUserBundle登録フォームの拡張に取り組んでいます。ユーザー名フィールドを削除/設定解除する必要があります(ユーザー名として電子メールを使用しているため)。

拡張しているフォームからフィールドを削除する方法はありますか?

4

2 に答える 2

22

FOSUserを拡張するフォームタイプのフィールドを削除/設定解除する場合は、次のようにすることができます。

public function buildForm(FormBuilder $builder, array $options) 
{
    parent::buildForm($builder, $options);        

    $builder->remove('username');
}
于 2012-07-23T17:00:39.653 に答える
1

たとえば、制約の属性をオーバーライドする場合は、次のように実行できます。

<?php

namespace Acme\UserBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;

/**
 * User
 *
 * @ORM\Table()
 * @ORM\Entity(repositoryClass="Acme\UserBundle\Entity\UserRepository")
 * @ORM\AttributeOverrides({
 *      @ORM\AttributeOverride(name="username", column=@ORM\Column(nullable = true, unique = false ))
 *   })
 */
class User extends BaseUser {

    /**
     * @var integer
     *
     * @ORM\Column(name="id", type="integer")
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;
}
于 2014-03-13T13:48:28.607 に答える