php - Laravel - 如何传递变量来重置密码模板?

标签 php laravel laravel-5 laravel-5.1

我已经使用 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 页面。

有什么想法吗?

谢谢。

最佳答案

sendResetLink 没有像 Laravel 中的常规电子邮件那样发送更多数据的正确方法。

你可以使用 a view composer 来解决这个问题。 ,像这样:

$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());
});

关于php - Laravel - 如何传递变量来重置密码模板?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34529750/

相关文章:

javascript - 禁用所有依赖于阵列的选择选项

laravel - 尝试在 Lumen 中重置密码

laravel - Laravel中用于Visual Studio Code或其他IDE的模型的Intellisense(自动完成)

php - 具有预加载的 Laravel 分组

php - Laravel - 如果登录凭据错误,则在同一页面上显示错误

PHP Pear HTTP_Request 强制使用指定的 SSL 版本

php - 我的插入语句有什么问题?

php - Laravel Passport 通过访问 token 获取客户端 ID

php - 您可以在 div 标签中更新吗

php - 拉拉维尔 4 : run multiple update query in 1 request