Customize Registration
Your business needs might require changes in registration form. It is possible to add, remove or modify form fields provided by NucleosProfileBundle.
How to customize a Form
If you want to modify the Registration form in your project there are a few steps that you should take. For example if you would like to add checkbox for accepting terms and conditions you will have to follow these steps:
Extend
Nucleos\UserBundle\Model\User\User
namespace App\Model;
use Nucleos\UserBundle\Model\User as BaseUser;
class User extends BaseUser
{
protected ?bool $termsAccepted = false;
public function gettermsAccepted(): ?bool
{
return $this->termsAccepted;
}
public function setTermsAccepted(?bool $termsAccepted): void
{
$this->termsAccepted = $termsAccepted;
}
}
Use Symfony Form Extensions to add fields. You can use builder to remove or modify fields as well.
namespace App\Form\Type;
use Symfony\Component\Form\AbstractTypeExtension;
use Symfony\Component\Form\Extension\Core\Type\CheckboxType;
use Symfony\Component\Form\FormBuilderInterface;
class RegistrationFormType extends AbstractTypeExtension
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder->add('termsAccepted', CheckboxType::class);
}
public static function getExtendedTypes(): iterable
{
return ['Nucleos\ProfileBundle\Form\Type\RegistrationFormType'];
}
}