Nếu bạn đang dùng thư viện laravel/ui để làm các chức năng liên quan đến authentication, và trong dự án của bạn, bạn cần thay đổi template email verification thay vì sử dụng template email verification mặc định của của laravel/ui. Vì vậy bài viết này, tôi sẽ hướng dẫn các bạn cách thay đổi template email verification mặc định.
Đầu tiên, bạn hãy mở file User.php nằm trong thư mục app\Models và override function sendEmailVerificationNotification như sau:
<?php
namespace App\Models;
...
use App\Notifications\VerifyEmailNotification;
class User extends Authenticatable implements MustVerifyEmail
{
...
public function sendEmailVerificationNotification()
{
$this->notify(new VerifyEmailNotification());
}
}
Tiếp theo, chúng ta sẽ tạo ra một notification có tên là VerifyEmailNotification.php bằng lệnh command sau:
php artisan make:notification VerifyEmailNotification
Sau đó, bạn hãy mở file VerifyEmailNotification.php nằm trong thư mục app\Notifications và chỉnh sửa như sau:
<?php
namespace App\Notifications;
use Illuminate\Bus\Queueable;
use Illuminate\Contracts\Queue\ShouldQueue;
use Illuminate\Notifications\Messages\MailMessage;
use Illuminate\Notifications\Notification;
use Illuminate\Auth\Notifications\VerifyEmail as VerifyEmailBase;
class VerifyEmailNotification extends VerifyEmailBase
{
use Queueable;
/**
* Create a new notification instance.
*
* @return void
*/
public function __construct()
{
//
}
/**
* Get the notification's delivery channels.
*
* @param mixed $notifiable
* @return array
*/
public function via($notifiable)
{
return ['mail'];
}
/**
* Get the mail representation of the notification.
*
* @param mixed $notifiable
* @return \Illuminate\Notifications\Messages\MailMessage
*/
public function toMail($notifiable)
{
$verificationUrl = $this->verificationUrl($notifiable);
return (new MailMessage)->view('emails.users.verify', ['url' => $verificationUrl]);
}
/**
* Get the array representation of the notification.
*
* @param mixed $notifiable
* @return array
*/
public function toArray($notifiable)
{
return [
//
];
}
}
Cuối cùng, bạn hãy tạo file verify.blade.php nằm trong thư mục resources\views\emails\users và có nội dung như sau:
ManhDanBlog Laravel UI Custom Email Verification Template <br>
URL: {{ $url }}
Đây là chính là nội dung template email verification mới, bạn có thể thay đổi nội dung để phù hợp với dự án của bạn.
Như vậy là chúng ta đã làm xong việc thay đổi template email verification mặc định rồi. Tôi hy vọng bạn thích hướng dẫn này. Nếu bạn có bất kỳ câu hỏi nào hãy liên hệ với chúng tôi qua trang contact. Cảm ơn bạn.