2016-02-20 10 views
7

私は/機能の作品のいくつかを上書きし、パスワードのリセット処理にいくつかの新しいものを追加する必要があります。私はスズから出てくるパスワードコントローラを使ってIlluminate\Foundation\Auth\ResetsPasswordsの機能を上書きできることを知っています。Laravelのパスワードブローカーを上書き/追加するにはどうすればよいですか? Laravel 5.2</p> <p>を使用

私もIlluminate\Contracts\Auth\PasswordBrokerで変更を加える必要があります。私の目標は、既存のパスワードリセット機能を使用する初期パスワードを設定するための招待メールを作成することです。唯一の問題は、関数sendResetLinkです。

この関数は、パスワードトークンを取得し、リセットパスワードの電子メールビューで電子メールを送信します。私はまだパスワードリセットの機能が必要ですが、私はあなたのパスワードをリセットするための招待メールを持っていません。

どうすればいいですか?私はコピーして、リセットクラスの機能を微調整して電子メールの招待ビューを使うことができると思うが、この作業をするためにブローカクラスを拡張する方法を理解することはできない。

答えて

2

私は同じことで苦労していました。カスタムのPasswordBrokerにsetEmailView()メソッドを追加し、AuthControllerでリセットリンクを送信する直前にそれを呼び出しましたが、それは通常のパスワードリセット関数を破りました。
だから、私はそれをすべて取り除き、はるかに簡単な方法に進んだ。 AuthController.phpで、パスワードテンプレートに変数を挿入します。

view()->composer('auth.emails.password', function($view) { 
    $view->with(['register'=>true]); 
}); 
Password::sendResetLink(['email'=>$data['email']], function($message) { 
    $message->subject('Registration Email'); 
}); 

次に、テンプレートの認証/電子メール/ password.blade.php

@if (isset($register)) 
    Whatever you want to say in registration Email. 
@else 
    Normal password reset Email here. 
@endif 
+0

にあなたは私の一日を救いました。 –