Laravel 5.1电子邮件视图和模板

时间:2016-02-03 11:53:09

标签: php laravel laravel-5

我尝试使用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')

我可能做错了什么?

1 个答案:

答案 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}}文件中包含的内容,但在实际视图中仍可覆盖(或附加到)通过定义它自己的“标题”和“页脚”部分。