Laravel 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 !!}}
并不高兴。无法弄清楚。
答案 0 :(得分:7)
由于问题太老了,也许您已经完成了工作。但我想分享一种在Laravel邮件模板上编写HTML标签的简便方法。
首先,您需要导入
use Illuminate\Support\HtmlString;
->line(new HtmlString('Last date: <strong>' . $this->due_date . '</strong>'))
通过HtmlString
类,您可以在邮件正文上编写HTML标签。
对于正在寻找这种解决方案的人会有所帮助。
谢谢。
答案 1 :(得分:1)
我想出了这一点,以防万一其他人像我一样愚蠢。
我认为这有两个原因可以解决。 @DouwedeHaan建议我在使用\n
时使用双引号而不是单引号,虽然执行不多,但结合了我认为可以解决问题的下一部分。
呈现html的刀片模板位于markdown中。我还没弄清楚。它的布局是特定的,在发布它后,我删除了一些行,并使用缩进格式格式化了文件,从而意外破坏了它。
我删除了文件,重新发布了模板,将{{$line}}
的所有实例更新为{!! $line !!}
,以确保保留文件的其余部分,更新了我的通知以使用双引号并停留在{ {1}}和<br/>
标签,现在可以正常使用了。
答案 2 :(得分:0)
使用带单引号的普通换行符
'This will create a
new line'
或在双引号中使用\n
"This will also create a \n new line"
答案 3 :(得分:-3)
您确实需要更新通知视图,因此您处于正确的轨道上。
基本上在发布通知包的资源之后,这样做:
$ php artisan vendor:publish --tag = laravel-notifications
您需要做的就是打开资源/视图/供应商/通知/email.blade.php,并将{{$ line}}的出现替换为{!! $ line !!}。
这只是告诉Blade不要转义标签。
希望这会有所帮助!