Я хочу добавить два поля «Имя» и «Первое имя» в регистрационную форму FosUser, но это не сработает. Вот что я делаю:Переопределить регистрационную форму FOSUser
CulturalStore/UserBundle/Ressources/конфигурации/services.yml:
services:
cultural_store_user.registration.form.type:
class: CulturalStore\UserBundle\Form\Type\RegistrationFormType
arguments: [%cultural_store_user.model.user.class%]
tags:
- { name: form.type, alias: cultural_store_user_registration }
CulturalStore/UserBundle/Форма/тип/RegistrationFormType:
<?php
namespace CulturalStore\UserBundle\Form\Type;
use Symfony\Component\Form\FormBuilderInterface;
use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;
class RegistrationFormType extends BaseType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
parent::buildForm($builder, $options);
// add your custom field
$builder->add('name');
$builder->add('firstname');
}
public function getName()
{
return 'cultural_store_user_registration';
}
public function getFirstName()
{
return 'cultural_store_user_registration';
}
}
CulturalStore/UserBundle /Entity/User.php, я добавляю:
/**
* @ORM\Column(type="string", length=255)
*
* @Assert\NotBlank(message="Entrez votre prénom.", groups={"Registration", "Profile"})
* @Assert\Length(
* min=3,
* max="255",
* minMessage="Prénom trop court.",
* maxMessage="Prénom trop long.",
* groups={"Registration", "Profile"}
*)
*/
protected $firstname;
/**
* @ORM\Column(type="string", length=255)
*
* @Assert\NotBlank(message="Entrez votre nom.", groups={"Registration", "Profile"})
* @Assert\Length(
* min=3,
* max="255",
* minMessage="Nom trop court.",
* maxMessage="Nom trop long.",
* groups={"Registration", "Profile"}
*)
*/
protected $name;
В приложении/config .yml у меня есть:
registration:
confirmation:
from_email:
address: "[email protected]"
sender_name: "noreply - CulturalStore"
enabled: true
template: CulturalStoreUserBundle:Registration:email.txt.twig
form:
type: cultural_store_user_registration
Но у меня есть эта ошибка:
ParameterNotFoundException: Служба «cultural_store_user.registration.form.type» имеет зависимость от несуществующего параметра «cultural_store_user.model.user .класс".
Thx, кажется лучше :) У меня есть эта ошибка: /: AnnotationException: [Semantical Error] Аннотации "@Assert \ NotBlank" в свойстве CultureStore \ UserBundle \ Entity \ User :: $ firstname никогда не импортировалось. Возможно, вы забыли добавить выражение «use» для этой аннотации? – user2178964
@ user2178964 убедитесь, что вы используете 'Symfony \ Component \ Validator \ Constraints as Assert'' в вашем файле 'CultureStore/UserBundle/Entity/User.php'. – takeit
thx, все работает :) – user2178964