Вам придется переопределить форму профиля и определить только те поля, которые вам нужны.
Обновить конфигурацию для использования нового типа формы:
# app/config.yml
fos_user:
#... other options
profile:
form:
type: AppBundle\Form\Type\ProfileFormType
Я не уверен на 100%, я васможет потребоваться определить новый тип формы как службу:
# app/services.yml or other config file you define services in
services:
AppBundle\Form\Type\ProfileFormType:
arguments:
- '%fos_user.model.user.class%'
Определить поля в своем собственном типе формы:
// AppBundle/Form/Type/ProfileFormType.php
namespace AppBundle\Form\Type;
use FOS\UserBundle\Form\Type\ProfileFormType as FosProfileFormType;
use Symfony\Component\Form\Extension\Core\Type\PasswordType;
use Symfony\Component\Form\FormBuilderInterface;
class ProfileFormType extends FosProfileFormType
{
public function buildForm(FormBuilderInterface $builder, array $options): void
{
$builder
->add(
'firstname',
null,
[
'label' => 'form.label_firstname',
'required' => true,
]
)
->add(
'lastname',
null,
[
'label' => 'form.label_lastname',
'required' => true,
]
)
->add(
'password',
PasswordType::class,
[
'required' => false,
]
)
;
}
}
Конечно, необязательный пароль, скорее всего, не тот, который вам нуженВозможно, вы вообще не хотите показывать поле в форме, поэтому просто удалите его.