yield не отображает содержимое в laravel - PullRequest
0 голосов
/ 31 марта 2019

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

@yield('layouts.header')

или

@yield('header')

Не отображается код.

Ответы [ 3 ]

3 голосов
/ 31 марта 2019

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

@ включая документы

Base

<body>

@include('layouts.header')

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

@include('layouts.footer')

</body>

Дети

@extends('master')

@section('content')

    <h1>Hello world</h1>

@stop

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

0 голосов
/ 31 марта 2019
**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
0 голосов
/ 31 марта 2019

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...