无法覆盖 FOSUserBundle 默认注册表单

亚辛尤尼斯

我是 symfony 的新手,我使用的是 symfony 2.8。我安装了 FOSUserBundle 并且它工作得很好,问题是我想在注册表单中添加一个字段 我按照FOSUserBundle 文档中的步骤操作但是没有任何改变,我没有收到错误消息。我不知道我到底错过了什么。这是我的用户实体:

<?php
// src/AppBundle/Entity/User.php

namespace AppBundle\Entity;

use FOS\UserBundle\Entity\User as BaseUser;
use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Validator\Constraints as Assert;

/**
 * @ORM\Entity
 * @ORM\Table(name="fos_user")
 */
class User extends BaseUser
{
    /**
     * @ORM\Id
     * @ORM\Column(type="integer")
     * @ORM\GeneratedValue(strategy="AUTO")
     */
    protected $id;

    /**
     * @ORM\Column(type="string", length=255)
     *
     * @Assert\NotBlank(message="Please enter your name.", groups={"Registration", "Profile"})
     * @Assert\Length(
     *     min=3,
     *     max=255,
     *     minMessage="The name is too short.",
     *     maxMessage="The name is too long.",
     *     groups={"Registration", "Profile"}
     * )
     */
    protected $name;

    public function __construct()
    {
        parent::__construct();
        // your own logic
    }
}

这是 RegistrationType.php :

<?php
// src/AppBundle/Form/RegistrationType.php

namespace AppBundle\Form;

use Symfony\Component\Form\AbstractType;
use Symfony\Component\Form\FormBuilderInterface;

class RegistrationType extends AbstractType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        $builder->add('name');
    }

    public function getParent()
    {
        return 'fos_user_registration';
    }

    public function getName()
    {
        return 'app_user_registration';
    }
}

app/config/services.yml 文件:

parameters:
    #parameter_name: value

services:
    app.form.registration:
        class: AppBundle\Form\RegistrationType
        tags:
            - { name: form.type, alias: app_user_registration }

这是 app/config/config.yml 中与 FOSUserBundle 相关的部分:

fos_user:
    db_driver: orm # other valid values are 'mongodb', 'couchdb' and 'propel'
    firewall_name: main
    user_class: AppBundle\Entity\User
    registration:
        form:
            name: app_user_registration

我找不到我缺少的东西。谢谢你。

伊马纳利·马马迪耶夫

加给你form

/**
 * @param OptionsResolverInterface $resolver
 */
public function setDefaultOptions(OptionsResolverInterface $resolver)
{
    $resolver->setDefaults(array(
        'data_class' => 'AppBundle\Entity\User'
    ));
}

如果您使用的是 Symfony < 2.8

# app/config/config.yml
fos_user:
    # ...
    registration:
        form:
            type: AppBundle\Form\RegistrationType

如果您使用的是 Symfony > 2.8

# app/config/config.yml
fos_user:
    # ...
    registration:
        form:
            name: AppBundle\Form\RegistrationType

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

覆盖FOSUserBundle注册表格

来自分类Dev

覆盖FOSUserBundle登录表单

来自分类Dev

覆盖FOSUserBundle登录表单

来自分类Dev

django-allauth-覆盖默认注册表单

来自分类Dev

覆盖FOSUserBundle

来自分类Dev

FOSUserBundle覆盖默认格式并获取InvalidArgumentException

来自分类Dev

无法从注册表单发帖

来自分类Dev

如何覆盖Django-Registration版本1.0中的默认注册表单?

来自分类Dev

如何覆盖Django-Registration版本1.0中的默认注册表单?

来自分类Dev

无法覆盖FOSUserBundle ProfileFormType buildForm()函数

来自分类Dev

不同角色的不同注册表格。FOSUserBundle

来自分类Dev

FOSUserBundle,组和注册表

来自分类Dev

FOSUserBundle,组和注册表

来自分类Dev

使用fosuserbundle覆盖更改密码表单

来自分类Dev

如何覆盖FOSUserBundle的EmailConfirmationListener

来自分类Dev

fosuserbundle覆盖登录操作

来自分类Dev

覆盖验证消息FOSUserBundle

来自分类Dev

FOSUserBundle覆盖模板

来自分类Dev

FOSUserBundle 覆盖登录逻辑

来自分类Dev

注册后FOSUserBundle确认

来自分类Dev

FOSUserBundle和HWIOAuthBundle注册

来自分类Dev

在AngularJS中注册FOSUserBundle

来自分类Dev

注册后FOSUserBundle确认

来自分类Dev

Symfony 2和覆盖FOSUserBundle

来自分类Dev

如何在FOSUserBundle中的另一个字段Symfony 2.7中添加注册表单

来自分类Dev

FOSUserBundle-默认配置中的更改,覆盖一些默认设置

来自分类Dev

在我自己的函数中,无法在FOSUserBundle中获得“注册确认”功能

来自分类Dev

覆盖FOSUserBundle路由Symfony2

来自分类Dev

FOSUserBundle覆盖控制器的操作