Laravel Свой текст письма сброса пароля в Laravel 5.4

  • Автор темы Автор темы MaksM
  • Дата начала Дата начала

MaksM

Новичок
Пользуюсь стандартной регистрацией Лары. Когда запрашиваешь ссылку на восстановление пароля письмо приходит на заморском языке. Как мне отправить свой текст со ссылкой для сброса пароля в письме не меняя текст в \vendor\laravel\framework\src\Illuminate\Auth\Notifications\ResetPassword.php?
Понимаю, что нужно перекрыть метод toMail, но не пойму где )). Только не кидайте ссылки на документацию. Там я все прочел и запутался. Объясните пожалуйста на пальцах ))
 
artisan make:auth опубликует шаблоны авторизации, в том числе и для писем.
 
Не, он только формы публикует. Ничего другого нет. Может я не там смотрю? После этой команды появляется папка views/auth в которой 4 файла (все с формами)
artisan vendor : publish тоже публикует общий шаблон писем в котором переменные указаны, а не сам текст.
 
Не, он только формы публикует. Ничего другого нет. Может я не там смотрю? После этой команды появляется папка views/auth в которой 4 файла (все с формами)
artisan vendor : publish тоже публикует общий шаблон писем в котором переменные указаны, а не сам текст.
Сорри, это был 5.3, на котором проверил. Действительно, в 5.4 все вообще по другому устроено.
Вкратце — у модели пользователя нужно перекрыть метод sendPasswordResetNotification($token), где реализовать отправку письма.
https://laravel.com/docs/5.4/passwords#password-customization
 
Это совсем тяжелая артиллерия, не должно быть так сложно :)

Вроде можно сделать vendor : publish с нужным тегом. Ну и русскую локаль включить и поставить.

Хотя не уверен, с 5.4 особо не работал.
 
@fixxxer, уже нет. Я прям исходники посмотрел. Там хардкод теперь в нужных местах :D
ced97849.png

56be546b.png
 
Флоппик, спасибо огромное за наводку ).
Я сделал копию ResetPassword в MyResetPassword, там переписал сообщение по русски, а в модели пользователя перекрыл sendPasswordNotification

PHP:
public function sendPasswordResetNotification($token)
{
    $this->notify(new MyResetPassword($token));
}

И все стало как надо )
 
Флоппик, спасибо огромное за наводку ).
Я сделал копию ResetPassword в MyResetPassword, там переписал сообщение по русски, а в модели пользователя перекрыл sendPasswordNotification

PHP:
public function sendPasswordResetNotification($token)
{
    $this->notify(new MyResetPassword($token));
}

И все стало как надо )


У Вас восстановление пароля адекватно работает? Просто я сделал как [ссылка удалена] описано, возникают проблемы с токеном, он не передается в УРЛ, не могу понять, почему именно
 
Последнее редактирование модератором:
@sergioz, да, у него все работает. По своим вопросам создаем отдельный тред
 
Сверху