РЕПЕТИТОР математика физика информатика
Для школьников и студентов. Подтягивание пробелов. ЦЭ, ЦТ, ОГЭ, ЕГЭ.
Идет набор на ЛЕТО. Жмите для подробностей:)
852 of 1392 menu

Метод view

Метод view класса MailMessage позволяет указать собственный шаблон для письма вместо использования стандартного оформления. Первым параметром передаётся имя шаблона, вторым - массив данных для передачи в шаблон. Если данные не переданы, используется пустой массив.

Синтаксис

<?php MailMessage::view($view, $data); ?>

Пример

Создадим простое уведомление для пользователя о регистрации:

<?php namespace AppNotifications; use IlluminateBusQueueable; use IlluminateNotificationsNotification; use IlluminateNotificationsMessagesMailMessage; class RegistrationNotification extends Notification { use Queueable; public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->view('emails.registration', [ 'name' => $notifiable->name, 'email' => $notifiable->email ]); } } ?>

Шаблон письма:

<!DOCTYPE html> <html> <head> <title>Registration</title> </head> <body> <h1>Welcome, {{ $name }}!</h1> <p>Your email: {{ $email }}</p> <p>Thank you for registration.</p> </body> </html>

Результат выполнения кода:

Welcome, John! Your email: john@example.com Thank you for registration.

Пример

Используем метод view с передачей дополнительных данных о заказе:

<?php namespace AppNotifications; use IlluminateBusQueueable; use IlluminateNotificationsNotification; use IlluminateNotificationsMessagesMailMessage; class OrderConfirmation extends Notification { use Queueable; protected $order; public function __construct($order) { $this->order = $order; } public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->subject('Order Confirmation') ->view('emails.order', [ 'order' => $this->order, 'user' => $notifiable, 'items' => ['item1', 'item2', 'item3'] ]); } } ?>

Шаблон письма с заказом:

<h2>Order Details</h2> <p>Hello {{ $user->name }}</p> <p>Order ID: {{ $order->id }}</p> <p>Items:</p> <ul> @foreach ($items as $item) <li>{{ $item }}</li> @endforeach </ul>

Результат выполнения кода:

Hello Alice Order ID: 12345 Items: item1 item2 item3

Пример

Используем метод view с простым шаблоном без передачи данных:

<?php namespace AppNotifications; use IlluminateBusQueueable; use IlluminateNotificationsNotification; use IlluminateNotificationsMessagesMailMessage; class SystemNotification extends Notification { use Queueable; public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->view('emails.system'); } } ?>

Шаблон системного сообщения:

<div> <h1>System Update</h1> <p>Maintenance completed successfully.</p> <p>All systems are operational.</p> </div>

Результат выполнения кода:

System Update Maintenance completed successfully. All systems are operational.

Смотрите также

  • класс MailMessage,
    основной класс для построения почтовых уведомлений
  • метод line,
    который добавляет строку текста в письмо
  • метод greeting,
    который устанавливает приветствие в письме
  • метод action,
    который добавляет кнопку с действием в письмо
Мы используем cookie для работы сайта, аналитики и персонализации. Обработка данных происходит согласно Политике конфиденциальности.
принять все настроить отклонить