我试图在markdown模板中使用@foreach
循环发送邮件。
在@foreach中使用HTML标记时,它无法正确呈现
@component('mail::message')
These are the latest contents in our website
@foreach($results as $type => $result)
<h4>{{ $result['name'] }}</h4>
@endforeach
Thanks,<br>
{{ config('app.name') }}
@endcomponent
在收到的邮件中,<h4>
标签将显示为,
<h4>Article</h4>
当Markdown放置在@foreach
循环中时,Markdown没有得到处理。但它被放置在@foreach
循环外面时被处理。
任何帮助都感激不尽。谢谢。
在撰写Markdown电子邮件时,请勿使用多余的缩进。 Markdown解析器将缩进内容呈现为代码块。
问题不在于@foreach
中放置的HTML标记,但缩进使得解析器呈现如下(我现在使用markdown,在<h4>
之前使用4个空格):
<h4>Article</h4>
好问题,同样适用于使用标记而不是html的示例。例如:
@component('mail::message')
# Data received:
@foreach($fields as $name => $value)
**{{ $name }}: ** {{ $value }}
@endforeach
@endcomponent
可能导致:
<h1>Data received:</h1>
<pre><code>**voornaam: ** piet
**familienaam: ** hein</code></pre>
虽然有2个空格缩进而不是4个像这样
@component('mail::message')
# Data received:
@foreach($fields as $name => $value)
**{{ $name }}: ** {{ $value }}
@endforeach
@endcomponent
相同的输入结果为:
<h1>Data received:</h1>
<p><strong>voornaam: </strong> piet</p>
<p><strong>familienaam: </strong> hein</p>
按照@Ben指向https://laravel.com/docs/5.8/mail#writing-markdown-messages的预期和解释
在撰写Markdown电子邮件时,请勿使用多余的缩进。 Markdown解析器将缩进内容呈现为代码块。