Добавьте жирный текст и разрыв строки в Email-уведомление Laravel - PullRequest
0 голосов
/ 05 сентября 2018

Ларавел 5.6

Я пытаюсь отправить уведомление Laravel по электронной почте. Я хочу, чтобы часть текста была выделена жирным шрифтом и вставлена ​​с переносами строк, без нового абзаца, который приносит метод line($text). Итак, я попробовал это в классе уведомлений. Я также попытался использовать строку \n для новой строки.

return (new MailMessage)
->subject('Booking Confirmed - Please Read')
->greeting('Hello ' . $this->booking->user->first_name . ',')
->line('Thank you for booking. Here are your booking details:')
->line($this->booking->provider->providerType->name . '<br>' .
    $date . '<br>' .
    $this->booking->start_at . '<br>' .
    $this->booking->address_1 . '<br>' .
    $this->booking->address_2 . '<br>' .
    $this->booking->address_3 . '<br>' .
    $this->booking->city . '<br>' .
    $this->booking->postcode . '<br>' .
    '£' . $this->booking->price
)
->line('<strong>Need to cancel?</strong><br>' .
    'Don\'t forget to contact the provider on the details above if you need to cancel or reschedule. 
    They won\'t mind, as long as you tell them.'
)
->line('<strong>Payment</strong><br>' .
    'Pay the Service provider direct as you normally would. This keeps things simple and costs down.'
)
->line('<strong>FAQ\'s</strong><br>' .
    'Please click here for more information'
)
->line('<strong>Don\'t forget to leave feedback after!</strong><br>' .
    'Help build your relationship with your Service Providers by leaving feedback'
)
->line('We hope to see you again soon!')

Я пытался с и без публикации шаблонов блейдов с помощью команды php artisan vendor:publish --tag=laravel-mail, а затем без * обновил {{$line}} до {!! $line !!}}. Не могу понять это.

Он печатает в почтовом ящике вот так enter image description here

Ответы [ 3 ]

0 голосов
/ 05 сентября 2018

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

'This will create a
new line'

или используйте \n с двойными кавычками

"This will also create a \n new line"

Подробнее здесь

0 голосов
/ 05 сентября 2018

Я понял это, если кто-нибудь еще такой же тупой, как я.
Я думаю, что есть две причины, почему это было сломано. @DouwedeHaan предложил использовать двойные кавычки вместо одинарных при использовании \n, который мало что сделал, но в сочетании со следующей частью, я думаю, сработал.

Шаблон блэйда, который отображает HTML, находится в уценке. Я не понял этого. Его структура специфична, и я случайно сломал его после того, как опубликовал его, удалив несколько строк и отформатировав файл с отступами, которые сломали все.

Я удалил файл, повторно опубликовал шаблон, обновил все экземпляры с {{$line}} до {!! $line !!}, обеспечив оставление оставшегося файла без изменений, обновил свое уведомление, чтобы использовать двойные кавычки, и застрял с <br/> и <strong></strong> тегов и теперь работает как положено.

enter image description here

0 голосов
/ 05 сентября 2018

Вам действительно нужно обновить представление уведомлений, чтобы вы были на правильном пути.

Обычно после публикации ресурсов пакета уведомлений:

$ php artisan vendor: publish --tag = laravel-notifications

Все, что вам нужно сделать, это открыть ресурсы / views / vendor / notifications / email.blade.php и заменить вхождения {{$ line}} на {!! $ line !!}.

Это просто говорит Блейду не убегать от тегов.

Надеюсь, это поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...