【发布时间】:2021-09-01 05:44:58
【问题描述】:
我已经通过电子邮件生成通知并设法发送电子邮件。
现在我想更改 Laravel 提供的模板,因此我创建了一个将显示的新自定义刀片。
我在将数据传输到刀片视图时遇到问题。
下面是我的代码:
public function __construct($offerData)
{
$this->offerData = $offerData;
}
public function toMail($notifiable)
{
/*This is the original code with default template */
// return (new MailMessage)
// ->greeting($this->offerData['name'])
// ->line($this->offerData['body'])
// ->action($this->offerData['offerText'], $this->offerData['offerUrl'])
// ->line($this->offerData['thanks']);
/*This is the code use to display the customize template*/
return (new MailMessage)->view(
'email_notification',
['data' => $this->offerData]
);
下面是我如何显示代码:
<!DOCTYPE html>
<html>
<head>
<title>Hi Awak</title>
</head>
<body>
@foreach($data as $data_)
<p>{{ $data_ }}</p>
@endforeach
</body>
</html>
这是结果:
我不能对每个数据做任何具体的修改,你可以看到它只是在这里重复了 p 标签。
【问题讨论】:
-
输出没有问题。您将 p 标签放在 for 循环中,这就是它重复 p 标签的原因。如果要自定义数据在视图中的显示方式,则必须使用 html 标签并与数据一起手动设计。