2017-02-10 3 views
0

Я использую Laravel 5.3, и теперь я работаю над параметром сброса пароля на своем CRM.Измените представление в письме с паролем сброса с помощью Laravel 5.3

мой CRM является многоязычным, поэтому мне нужно изменить шаблон электронной почты/представление, отправленное клиенту на основе его языка, на самом деле мне просто нужно изменить с RTL на LTR - это значение задано в файле cookie который называется «user_direction».

Я использую Laravel default bootstrap auth, который включает класс ResetPassword.

это то, что есть сейчас:

<?php 

namespace Illuminate\Auth\Notifications; 
use Illuminate\Notifications\Notification; 
use Illuminate\Notifications\Messages\MailMessage; 

class ResetPassword extends Notification 
{ 
    public $token; 

    public function __construct($token) 
    { 
     $this->token = $token; 
    } 

    public function via($notifiable) 
    { 
     return ['mail']; 
    } 

    public function toMail($notifiable) 
    { 
     $url  = url('password/reset',$this->token); 
     $subject = trans('global.reset_password_email_subject'); 
     $greeting = trans('global.reset_password_email_greeting'); 
     $line_01 = trans('global.reset_password_email_line_01'); 
     $action  = trans('global.reset_password_email_action'); 
     $line_02 = trans('global.reset_password_email_line_02'); 

     return (new MailMessage) 
      ->subject($subject) 
      ->greeting($greeting) 
      ->line($line_01) 
      ->action($action, $url) 
      ->line($line_02); 
    } 
} 

и это идея о том, что я хочу иметь, но я не знаю, как писать правильно:

public function toMail($notifiable) 
    { 
     $url  = url('password/reset',$this->token); 
     $subject = trans('global.reset_password_email_subject'); 
     $greeting = trans('global.reset_password_email_greeting'); 
     $line_01 = trans('global.reset_password_email_line_01'); 
     $action  = trans('global.reset_password_email_action'); 
     $line_02 = trans('global.reset_password_email_line_02'); 

     $view = "notifications::email"; 
     if($request->cookie('user_direction') == "rtl"): 
      $view = "notifications::email-rtl"; 
     endif; 

     return (new MailMessage) 
      ->view($view) 
      ->subject($subject) 
      ->greeting($greeting) 
      ->line($line_01) 
      ->action($action, $url) 
      ->line($line_02); 
    } 

поблагодарить Вас за Помогите!

ответ

0

Вы можете изменить представление пароля сброса, переопределив функцию в ResetPasswords Trait.

Просто добавьте следующую функцию в ResetPasswordController и измените свое представление.

/** 
* Display the password reset view for the given token. 
* 
* If no token is present, display the link request form. 
* 
* @param \Illuminate\Http\Request $request 
* @param string|null $token 
* @return \Illuminate\Contracts\View\Factory|\Illuminate\View\View 
*/ 
public function showResetForm(Request $request, $token = null) 
{ 
    return view('auth.passwords.reset')->with(
     ['token' => $token, 'email' => $request->email] 
    ); 
} 
+0

Привет Saravanan Sampathkumar, это не то, что я имею в виду, я хочу изменить почты, отправки пользователю восстановить свой пароль, содержание почты вид и я хочу, чтобы изменить это мнение, если пользователь, использующий RTL или LTR –

0

после просмотра некоторых учебников по YouTube он работал для меня, я писал об этом так:

первого добавить «использовать Cookie»;

public function toMail($notifiable) 
{ 
    $user_language_direction = Cookie::get('user_direction'); 

    $url  = url('password/reset',$this->token); 
    $subject = trans('global.reset_password_email_subject'); 
    $greeting = trans('global.reset_password_email_greeting'); 
    $line_01 = trans('global.reset_password_email_line_01'); 
    $action  = trans('global.reset_password_email_action'); 
    $line_02 = trans('global.reset_password_email_line_02'); 

    $view  = "notifications::email"; 
    if($user_language_direction == "rtl") 
     $view = "notifications::email-rtl"; 

    return (new MailMessage) 
     ->view($view,array()) 
     ->subject($subject) 
     ->greeting($greeting) 
     ->line($line_01) 
     ->action($action, $url) 
     ->line($line_02); 
} 

 Смежные вопросы

  • Нет связанных вопросов^_^