0

で独自のフォーム タイプを作成しましたMe\MyBundle\Form\Type\UserFormRegistrationType:

namespace Me\MyBundle\Form\Type;

use FOS\UserBundle\Form\Type\RegistrationFormType as BaseType;
use Symfony\Component\Form\FormBuilderInterface;
use Symfony\Component\OptionsResolver\OptionsResolverInterface;

class UserFormRegistrationType extends BaseType
{
    public function buildForm(FormBuilderInterface $builder, array $options)
    {
        parent::buildForm($builder, $options);

        // all my unique fields
    }

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

    public function setDefaultOptions(OptionsResolverInterface $resolver)
    {
        $resolver->setDefaults(array('data_class' => 'Me\MyBundle\Entity\User'));
    }
}

私のservices.ymlには次のものがあります:

services:
    me_my.registration.form.type:
        class: Me\MyBundle\Form\Type\UserFormRegistrationType
        arguments: [%fos_user.model.user.class%]
        tags:
            - { name: form.type, alias: user_registration }

そして、以下がconfig.ymlに追加されました:

# other config stuff

fos_user:
    # database stuff, general config

    registration:
        form:
            type: user_registration

それでも、登録フォーム/ページにアクセスしようとすると、次のようになります。

タイプ「user_registration」を読み込めませんでした

私が明らかに欠けているもののヒントはありますか?ファイアウォールの問題ではありません。私はそれを持っていましたが、security.yml を微調整すると修正されました。これは純粋な見つからないエラーです。ドキュメントに従って手紙を書いたと思うので、非常に迷惑です。

4

3 に答える 3

0

この男の問題を見て、それから彼が彼自身の質問に提供する解決策を見てください. 私は彼のコードから離れて、私のファイル内の名前と一致するように修正したところ、うまくいきました!

登録フォーム FosUserBundle をオーバーライドするには?

于 2015-07-29T21:40:04.727 に答える
-1

ドキュメントは、サービスを config.yml に登録する必要があることを言及/思い出させることを拒否しました。

于 2013-04-25T16:23:08.243 に答える