1

FOSUser Bundle を独自の User クラスの基本クラスとして使用します。Web サービスを介して、新しいユーザーを作成できます。

私の知る限り、ユーザーが登録フォームから自分自身を登録したときにのみトリガーされます。

コントローラーからの確認メールを手動でトリガーする方法はありますか?

4

2 に答える 2

2

確認メールの送信を手動でトリガーする解決策はないようです。登録フォームとの組み合わせでのみトリガーされます。私がやったことは、フォームとそのディスパッチを偽造して、電子メールのディスパッチを担当するイベントリスナーをトリガーすることです。

//use FOS\UserBundle\FOSUserEvents;
//use FOS\UserBundle\Event\FormEvent;

$formFactory = $this->get('fos_user.registration.form.factory');
$form = $formFactory->createForm();
$form->setData($user); // created user object
$event = new FormEvent($form, $request); // request of the Controller
$dispatcher = $this->get('event_dispatcher');
$dispatcher->dispatch(FOSUserEvents::REGISTRATION_SUCCESS, $event);

本当にきれいな解決策ではありませんが、FOSUserBundle がそのための API を提供していないように見えるので、私が思いついた唯一の解決策です。

于 2013-08-05T08:40:33.867 に答える