Chcę zmienić ilość pól na formularzu rejestracyjnym usera poprzez overriding, wydaje mi się że robię wszystko tak jak pokazuje instrukcja, ale nie działa niestety, może ktoś się dopatrzy dlaczego?
Plik który ma zastąpić oryginał znajduje się w:
src/Application/Sonata/UserBundle/Form/Type/RegistrationFormType.php
namespace Sonata\UserBundle\Form\Type; use Symfony\Component\Form\AbstractType; use Symfony\Component\Form\FormBuilderInterface; use Symfony\Component\OptionsResolver\OptionsResolverInterface; class RegistrationFormType extends AbstractType { private $class; /** * @var array */ protected $mergeOptions; /** * @param string $class The User class name * @param array $mergeOptions Add options to elements */ { $this->class = $class; $this->mergeOptions = $mergeOptions; } { $builder 'label' => 'form.username', 'translation_domain' => 'SonataUserBundle', ), $this->mergeOptions)) 'type' => 'password', 'label' => 'form.password', ), $this->mergeOptions), 'label' => 'form.password_confirmation', ), $this->mergeOptions), 'invalid_message' => 'fos_user.password.mismatch', ), $this->mergeOptions)) ; } public function setDefaultOptions(OptionsResolverInterface $resolver) { 'data_class' => $this->class, 'intention' => 'registration', )); } public function getName() { return 'sonata_user_registration'; } }
Config.yml
fos_user: db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel' firewall_name: main user_class: Application\Sonata\UserBundle\Entity\User registration: form: type: application_sonata_user_registration group: group_class: Application\Sonata\UserBundle\Entity\Group group_manager: sonata.user.orm.group_manager service: user_manager: sonata.user.orm.user_manager services: application_sonata_user.registration.form.type: class: Application\Sonata\UserBundle\Form\Type\RegistrationFormType arguments: [%fos_user.model.user.class%] tags: - { name: form.type, alias: application_sonata_user_registration }