2016-03-23 22 views
2

私はFOSUserBundleで電子メールの確認を有効にしました。ユーザーは 登録後にメールでリンクを受け取ることができます。FOSUserBundle登録後の確認

registration: 
    confirmation: 
     enabled: true 

しかし、実際には私が望むものではありません。 登録を確認するための確認メールを送信したいだけです(確認リンクなし)。

これをFOSUserBundleで設定することはできますか?

+0

私はこのようには考えていませんが、実際に実装することができます。登録後に呼び出されるイベントを見つけて、タスクを実装する必要があるかもしれません。 – abdiel

答えて

1

あなたは登録後に送信される電子メール用のカスタムテンプレートを設定することができます。

confirmation: 
    enabled: true 
    template: YourUserBundle:Registration:email.txt.twig 

はデフォルトFOSUserBundle:Registration:email.txt.twigをコピーし、確認リンクを削除します。

confirmationtrueに設定されているため、デフォルトではenabledにはなりません。

だから、あなたは全体の確認機能を無効にしたい場合は、次のことができます。

  • Create a listener that send a custom e-mail onFOSUserEvents::REGISTRATION_CONFIRMED
  • カスタム電子メールを送信する

    +0

    'FOS \ UserBundle \ FOSUserEvents'が私のベンダーに見つかりません。私はFOSUserBundleのバージョン1.3.xを使用しています!それはバージョン2の新機能ですか? – Kevin

    +0

    はい、この機能は2.0以降でのみ利用可能です。あなたは、私が与えた2つの最後のオプション、すなわちRegistrationControllerをオーバーライドしています。電子メールの送信方法を作成し、成功の場合はregisterActionから呼び出します。 – chalasr

    +0

    これで、私のバンドルの子の同じパスにクラス 'RegisterController'を作成しました。しかし、オーバーライドは機能していないようです。 .ymlファイルには何か他に何かできますか?プロバイダーの変更例symfonyは私のクラスを今使用しなければならないことをどのように知っていますか? ps:私はFOSUserBundleでSonataUserbundheを使用しています。 – Kevin

    関連する問題