вывод не отображает содержимое в laravel

#laravel #laravel-5

#laravel #laravel-5

Вопрос:

Я переместил код заголовка из шаблона в /views/layouts/header.blade.php . Когда я вызываю это с помощью,

 @yield('layouts.header')
  

или

 @yield('header')
  

Он не отображает код.

Комментарии:

1. @RossWilson не могли бы вы опубликовать это в качестве ответа, пожалуйста?

Ответ №1:

Вам следует использовать [@include][1] not @yield . @yield предназначен для рендеринга, @section тогда @include как для простого добавления файла.

@включить документы

База

 <body>

@include('layouts.header')

<main>
    @yield('content')
</main>

@include('layouts.footer')

</body>
  

Дочерний

 @extends('master')

@section('content')

    <h1>Hello world</h1>

@stop
  

Единственная причина, по которой вы могли бы использовать @yield для заголовка, заключается в том, что у вас разные разделы заголовка во всех ваших дочерних компонентах.

Ответ №2:

Вы должны использовать @include('views.layouts.header') на своей странице. @yield используется для шаблонов или основных страниц, когда вы хотите расширить раздел на других страницах.

Ответ №3:

 **master layout code**

 <html>
 <body>
  @include('layouts.header')

  <main>
      @yield('content')
 </main>

  @include('layouts.footer')

 </body>
  

 *view blade page code*
@extends('master')

@section('content')
   <h1>Hello world</h1>
@endsection