2

我的自定义注册表单在 1.2.* 版本中运行良好,但是当我在 2.1 中更新 symfony 和在 2.0.* 中更新 FOSUserBundle 时,我遇到了这个我不知道如何解决的问题。

错误 :

为服务“kairos_user.registration_form_type”指定的类型名称与实际名称不匹配。预期为“kairos_user_registration”,给定“fos_user_registration”

我的服务定义:

services:
    kairos_user.registration_form_type:
        class: Kairos\UserBundle\Form\Type\RegistrationFormType
        arguments: [%fos_user.model.user.class%]
        tags:
            - { name: form.type, alias: kairos_user_registration }

还有我的 config.yml

fos_user:
    db_driver: orm #cf kairos doctrine admin
    firewall_name: main
    user_class: Kairos\UserBundle\Entity\User
    registration:
        form:
            type: kairos_user_registration
4

1 回答 1

3

您的注册表单服务的别名必须与您的注册表单类型类返回的名称相匹配。Kairos\UserBundle\Form\Type\RegistrationFormType尝试更改getName ()方法的返回值

class RegistrationFormType extends AbstractType
{
    // ...
    public function getName()
    {
        return 'kairos_user_registration';
    }
}
于 2012-09-05T10:31:42.037 回答