如何覆盖SonataUserBundle表格编辑个人资料?
这里是代码
config.yml
# fos User
fos_user:
db_driver: orm
firewall_name: main
user_class: Application\Sonata\UserBundle\Entity\User
profile:
form:
type: sonata_user_profile
group:
group_class: Application\Sonata\UserBundle\Entity\Group
services:
sonata_user_profile.profile.form.type:
class: Application\Sonata\UserBundle\Form\Type\ProfileType
tags:
- { name: form.type, alias: sonata_user_profile }
arguments: [%fos_user.model.user.class%]
ProfilType.php
<?php
namespace Application\Sonata\UserBundle\Form\Type;
use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;
class ProfileType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
$builder
->add('gender', null, array('required' => true))
->add('firstname', null, array('required' => true))
->add('lastname', null, array('required' => true))
->add('dateOfBirth', 'birthday', array('required' => true))
->add('label', null, array('required' => true))
;
}
public function getName()
{
return 'sonata_user_profile';
}
}
我不明白,表单不是覆盖,似乎没有加载服务。
如果我在/ src / Application / Sonata / UserBundle / Form / Type /
中的ProfileType.php中输入错误它什么都没改变,前面没有错误......
答案 0 :(得分:0)
解决!
我必须在我的包中添加路由,然后覆盖控制器并使用新服务