Laravel - Как передать переменную для сброса шаблона пароля?

Я реализовал функцию сброса пароля с Laravel 5 и получать электронную почту. Теперь, как передать некоторые переменные данные в мой шаблон электронной почты для отображения дополнительной информации о пользователе.

/**
 * Send a reset link to the given user.
 *
 * @param  \Illuminate\Http\Request  $request
 * @return \Illuminate\Http\Response
 */
public function postEmail(Request $request)
{
    //echo Input::get('ID'); die;
    $this->validate($request, ['ID' => 'required|email']);

    $UserProduct = "Sample 1"; // I want to pass this variable to my password.blade.php
    $response = Password::sendResetLink($request->only('ID'), function (Message $message) {
        $message->subject($this->getEmailSubject());
    });

    switch ($response) {
        case Password::RESET_LINK_SENT:
            return redirect()->back()->with('status', trans($response));

        case Password::INVALID_USER:
            return redirect()->back()->withErrors(['ID' => trans($response)]);
    }

}

Я хочу напечатать $UserProduct = "Sample 1"; на мой шаблон электронной почты, но не знаю, как перейти к password.blade стр.

Любая идея?

Благодарю.

1 ответ

Решение

sendResetLink не может правильно отправить больше данных, как обычное электронное письмо в laravel.

Вы можете обойти это, используя композитор вида, что-то вроде этого:

$UserProduct = "Sample 1";
$infoArray = [1,2,3,4];

view()->composer('emails.auth.password', function($view) use ($UserProduct, $infoArray) {
    $view->with([
        'UserProduct' => $UserProduct,
        'info' => $infoArray,
        'more' => 'Even more info',
    ]);
});

$response = Password::sendResetLink($request->only('ID'), function (Message $message) {
    $message->subject($this->getEmailSubject());
});
Другие вопросы по тегам