我尝试使用Laravel 5.1来使用部分和模板,但是在发送电子邮件时,HTML模板无法解析。
例如,以下代码仅导致content
部分被发送,而且没有HTML模板(emails.template
);
@extends('emails.template')
@section('content')
Hi there!<br><br>
Please click on the link below to reset your password:<br><br>
{{ url('password/reset/'.$token) }}<br><br>
<strong>Note:</strong> This is an automatically generated email, please do not reply.
@endsection
我的emails/template.blade.php
文件如下所示:
@yield('header')
@yield('content')
@yield('footer')
我可能做错了什么?
答案 0 :(得分:2)
如图所示,问题是您的布局期望扩展它的视图以定义“标题”,“内容”和“页脚”部分。由于您的视图仅定义了“内容”部分,因此将显示所有内容。
如果您要显示emails/footer.blade.php
和@include
部分内容,则这不是正确的语法。要做到这一点,你需要@section('header')
@include('emails.header')
@show
@yield('content')
@section('footer')
@include('emails.footer')
@show
这些部分。如果您希望视图能够覆盖它们,可以将它们包含在部分内。
您正在寻找以下内容:
emails/header.blade.php
现在,您的“标题”和“页脚”部分将默认为emails/footer.blade.php
和{{1}}文件中包含的内容,但在实际视图中仍可覆盖(或附加到)通过定义它自己的“标题”和“页脚”部分。