Mam zainstalowane symfony 2.5 + FOS + SONATA
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
*/
public function __construct
($class, array $mergeOptions = array()) {
$this->class = $class;
$this->mergeOptions = $mergeOptions;
}
public function buildForm
(FormBuilderInterface
$builder, array $options) {
$builder
'label' => 'form.username',
'translation_domain' => 'SonataUserBundle',
), $this->mergeOptions))
'type' => 'password',
'options' => array('translation_domain' => 'SonataUserBundle'), 'label' => 'form.password',
), $this->mergeOptions),
'label' => 'form.password_confirmation',
), $this->mergeOptions),
'invalid_message' => 'fos_user.password.mismatch',
), $this->mergeOptions))
;
}
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
$resolver->setDefaults(array( '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 }
Ten post edytował borpaw 23.09.2014, 08:40:00