Как вызвать @extends в нескольких файлах? - PullRequest
0 голосов
/ 09 ноября 2019

Я реорганизую свой проект laravel в более изолированный и, как я прочитал, что всегда лучше использовать @extends/@yield, а не @includes, и, кроме того, по мере того, как я продолжаю развивать свои проекты, это становится более сложным, и компоновка становится все более запутанной,Учитывая эту структуру папки:

views
    categories
        index.blade.php
        show.blade.php
        ...
    layouts
        sidenav
            homesidenav.blade.php
            contentsidenav.blade.php
        header.blade.php
        footer.blade.php
        master.blade.php

Теперь у меня проблема с получением верхнего и нижнего колонтитула из моего master.blade.php. Я сделал это, хотя я не уверен, что это правильный путь:

<body>
    @yield('header')
    @yield('content')
    @yield('footer')
</body>

и на моем header.blade.php, у меня есть это:

@extends('layouts.master')

@section('header')
    //All header content here
@endsection

и на страницах моей модели(index.blade.php), у меня есть это:

@extends('layouts.master')

@section('title', 'Category List')

@section('content')
    //All main content here
@endsection

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

1 Ответ

0 голосов
/ 09 ноября 2019

Верхний и нижний колонтитулы должны быть включены, так как они должны быть «включены» в основной макет и не являются разделами, которые вы будете определять в расширенных шаблонах и в результате.

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

    @yield('content')

    @include('layouts.footer')
</body>
...