拉腊维尔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 !!}}
,但没有成功。
在mailtrap
中,它会这样打印
6条答案
按热度按时间chy5wohz1#
也许你已经完成了你的工作,因为这个问题是如此古老。但我想分享一个简单的方法来写一个HTML标签的Laravel邮件模板。
首先,您需要导入
use Illuminate\Support\HtmlString;
HtmlString
类使您能够在邮件正文上编写HTML标记。这对正在寻找这种解决方案的人会很有帮助。谢谢。
oyjwcjzk2#
我想出来了,以防有人跟我一样蠢。
我认为这有两个原因。@DouwedeHaan建议我在使用
\n
时使用双引号而不是单引号,这并没有做太多,但结合下一部分,我认为做到了这一点。渲染html的blade模板是在markdown中的,我还没有弄明白,它的布局是特定的,我在发布后不小心把它破坏了,删除了一些行,用缩进格式格式化了文件,这破坏了所有的东西。
我删除了该文件,重新发布了模板,更新了
{{$line}}
的所有示例,以{!! $line !!}
确保文件的其余部分保持原样,更新了我的通知,以使用双引号,并坚持使用<br/>
和<strong></strong>
标签,现在它按预期工作。wrrgggsh3#
使用带单引号的普通换行符
或使用带双引号的
\n
More info here
bvuwiixz4#
我不确定它是在哪个版本的Laravel中引入的,但是您可以在
MailMessage
中使用Markdown,所以如果只需要简单的格式设置,HtmlString
是不必要的。sbtkgmzw5#
如果您仍在寻找解决方案,这是什么工作伟大:
uyhoqukh6#
您确实需要更新通知视图,这样您才能走上正确的道路。
基本上,在发布通知包的资源之后:
$php工匠供应商:发布--标签= laravel-通知
您只需打开resources/views/vendor/notifications/email.blade.php并将出现的{{$line}}替换为{!! $line!!}即可。
这只是告诉刀锋不要逃脱标签。
希望这有帮助!