Я работаю над расширением регистрационной формы FosUserBundle. Мне нужно удалить/сбросить поле имени пользователя (потому что я использую электронную почту в качестве имени пользователя).
Есть ли способ удалить поле из формы, которую я расширяю?
Я работаю над расширением регистрационной формы FosUserBundle. Мне нужно удалить/сбросить поле имени пользователя (потому что я использую электронную почту в качестве имени пользователя).
Есть ли способ удалить поле из формы, которую я расширяю?
Если вы хотите удалить/сбросить какое-либо поле в вашем типе формы, которое расширяет поле FOSUser, вы можете сделать что-то вроде:
public function buildForm(FormBuilder $builder, array $options)
{
parent::buildForm($builder, $options);
$builder->remove('username');
}
Например, если вы хотите переопределить атрибуты ограничения, вы можете сделать что-то вроде этого:
<?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;
}