2016-02-03 3 views
2

Я пытаюсь использовать разделы и шаблоны с использованием Laravel 5.1, однако при отправке писем HTML-шаблон не анализируется.Laravel 5.1 виды и шаблоны для электронной почты

Например, следующий код приводит только к отправке части 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

Вы уверены, что файл emails.template существует и находится в соответствующей папке? – trainoasis

+0

Проверьте имя файла template.blade.php –

+0

@trainoasis Да, он существует и находится в правильной папке. – V4n1ll4

ответ

2

Как показано, проблема заключается в том, что ваш макет ожидает представления, которое расширяет его, чтобы определить разделы «header», «content» и «footer». Поскольку в вашем представлении определен раздел «контент», это все, что будет показано.

Если у вас есть emails/header.blade.php и 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 файлов, но они по-прежнему могут быть перезаписан (или добавлен) в фактическое представление, определяя его собственные заголовки и секции нижнего колонтитула.