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

Метод markdown

Метод markdown класса MailMessage указывает, какой Markdown-шаблон использовать для формирования содержимого письма. Первым параметром передаётся путь к шаблону, вторым - массив данных для передачи в представление (необязательно). Метод возвращает экземпляр MailMessage для построения цепочки методов.

Синтаксис

<?php use Illuminate\Notifications\Messages\MailMessage; $message = (new MailMessage) ->markdown($view, $data); ?>

Пример

Давайте создадим уведомление с использованием стандартного шаблона Laravel:

<?php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Notification; use Illuminate\Notifications\Messages\MailMessage; class UserNotification extends Notification { use Queueable; private $userName; public function __construct($userName) { $this->userName = $userName; } public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->markdown('emails.user_notification', [ 'userName' => $this->userName ]); } } ?>

Результат выполнения кода (содержимое письма):

<div> <h1>User Notification</h1> <p>Hello, John Doe!</p> <p>This is a notification for you.</p> </div>

Пример

Давайте создадим кастомное уведомление с действием:

<?php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Notification; use Illuminate\Notifications\Messages\MailMessage; class OrderNotification extends Notification { use Queueable; private $orderId; public function __construct($orderId) { $this->orderId = $orderId; } public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->greeting('Hello!') ->line('Your order #' . $this->orderId . ' is ready.') ->action('View Order', url('/orders/' . $this->orderId)) ->markdown('emails.order_ready', [ 'orderId' => $this->orderId ]); } } ?>

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

<div> <h1>Order Ready</h1> <p>Your order #12345 is ready.</p> <a href="http://example.com/orders/12345">View Order</a> </div>

Пример

Давайте создадим уведомление с использованием пользовательского Markdown-шаблона:

@component('mail::message') # Custom Notification Hello {{ $userName }}, Your account has been successfully updated. Thanks,<br> {{ config('app.name') }} @endcomponent
<?php namespace App\Notifications; use Illuminate\Bus\Queueable; use Illuminate\Notifications\Notification; use Illuminate\Notifications\Messages\MailMessage; class AccountNotification extends Notification { use Queueable; private $userName; public function __construct($userName) { $this->userName = $userName; } public function via($notifiable) { return ['mail']; } public function toMail($notifiable) { return (new MailMessage) ->markdown('emails.custom', [ 'userName' => $this->userName ]) ->subject('Account Updated'); } } ?>

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

<div> <h1>Custom Notification</h1> <p>Hello John Doe,</p> <p>Your account has been successfully updated.</p> <p>Thanks,<br>Laravel App</p> </div>

Пример

Давайте отправим уведомление пользователю с помощью метода markdown:

<?php namespace App\Http\Controllers; use App\Models\User; use App\Notifications\UserNotification; use Illuminate\Http\Request; class UserController extends Controller { public function notifyUser($userId) { $user = User::find($userId); $userName = $user->name; $user->notify(new UserNotification($userName)); $res = "Notification sent to user: " . $userName; echo $res; } } ?>

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

"Notification sent to user: John Doe"

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

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