我正在尝试在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
循环内时,不会对其进行处理。但是当它放在@foreach
循环之外时会被处理。
任何帮助将不胜感激。感谢。
答案 0 :(得分:3)
撰写Markdown电子邮件时,请勿使用多余的缩进。降价 解析器将缩进内容呈现为代码块。
问题不在于放置在@foreach
内的HTML标记,但缩进使解析器呈现如下(我现在使用markdown,<h4>
之前有4个空格):
<h4>Article</h4>
答案 1 :(得分:0)
很好的问题,使用标记而不是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电子邮件时,请勿使用多余的缩进。降价促销 解析器会将缩进的内容呈现为代码块。