2016-11-26 112 views
0

我有下面的代码,它发送一个passowrds恢复邮件:Laravel密码恢复模板

public function recovery(Request $request) 
    { 
     $validator = Validator::make($request->only('email'), [ 
      'email' => 'required' 
     ]); 

     if($validator->fails()) { 
      throw new ValidationHttpException($validator->errors()->all()); 
     } 

     $response = Password::sendResetLink($request->only('email'), function (Message $message) { 
      $message->subject(Config::get('boilerplate.recovery_email_subject')); 
     }); 

     switch ($response) { 
      case Password::RESET_LINK_SENT: 
       return $this->response->noContent(); 
      case Password::INVALID_USER: 
       return $this->response->errorNotFound(); 
     } 
    } 

,我发现了使用下面的模板:resources/views/auth/emails/password.php

这是一个空白文件。

如何从此模板访问令牌?

是不是有任何内置视图使用laravel?

回答

0

您的问题中的功能不会返回view

此外,我不熟悉那个问题的视图的路径。你使用的是哪个版本的Laravel?

无论如何,您可以从数据库中获取重置token,就像数据库中的任何其他值一样。例如。从控制器返回一个视图:

$user = User::find(Auth::id()); 
$remeber_token = $user->remember_token; 
return view('to_your_view.blade.php', compact('remember_token'); 

然后在视图文件:

{{ $remember_token }} 

这将输出它,没有必要使用echo或任何东西。

但是,您粘贴到您的问题的功能不是一个返回视图的函数,所以我不知道在哪里告诉你把上面的代码。至少在Laravel 5.3中,您对Laravel有一个内置视图的观点,至少,我认为您想要的视图将位于`resources/views/auth/passwords /'内。

+0

它不返回一个视图,我对这个URL做POST请求。此模板是发送给用户的电子邮件模板。我只使用laravel作为服务器(不是客户端) – TheUnreal

+0

噢好吧。尽管如此,它是通过控制器“拉进”的?如果您将我的代码粘贴到控制器中,然后这是视图文件“{{$ remember_token}}”,它不起作用吗? –

+0

我用户表中的'remember_token'是空的,但我有另一个名为'password_resets'的表,其中'email |令牌| created_at'。是的,这个方法在我的AuthController中 – TheUnreal