Visualizando notifications do Laravel na rota web

Igor Carvalho
php-brasil
Published in
2 min readDec 1, 2018

Uma das novidades do laravel 5.6 é a possibilidade de visualizar um template de email em uma rota web, como indica o link https://laravel.com/docs/5.7/mail#previewing-mailables-in-the-browser.

Entretanto eu, EU, costumo usar notifications. Acho mais simples que os maiables, em todos os detalhes. Mas as notifications e os maiables não compartilham a mesma origem, e portanto as notifications não podem ser visualizadas no browser.

Acontece que esta semana eu precisei, pois o designer não confiava nas alterações que eu fiz no template de email. A doc não fala como realizar tal tarefa, então…Senhor Google, procuro por ti. Encontrei um código e irei compartilhá-lo abaixo:

// routes/web.phpRoute::get(‘preview-notification’, function () {$message = (new \App\Notifications\TestNotification())->toMail('test@email.com');

$markdown = new \Illuminate\Mail\Markdown(view(), config(‘mail.markdown’));
return $markdown->render(‘vendor.notifications.email’, $message->toArray());});

Nesta rota criamos um falso disparo de email para a notification, geramos um renderizador em markdown, o renderizador vai pegar o falso disparo e renderizar dentro de um template (no caso o template já publicado para as devidas alterações).

E voilà, a notification aparece na rota, no browser com o conteúdo programado.

Mas infelizmente este código não é meu, estou apenas postando em língua portuguesa. Deixo abaixo o link original.

https://medium.com/@oscarmwana/preview-your-notification-emails-in-laravel-5-4-f30458d6ce4b

--

--