Blade laravel — выход и содержание

после некоторых бесполезных исследований я должен спросить об этом. Я использую ларавель 5.6

У меня есть мой контроллер, где у меня есть

public function index()
{
    return view('layout.app');
}

где app.blade.php выглядит так:

<html>
<head>
    <title>App Name - @yield('title')</title>
</head>
<body>
@section('sidebar')
    This is the master sidebar.
@show

<div class="container">
    @yield('content')
</div>
</body>
</html>

и child.blade.php:

@extends('app')

@section('title', 'Page Title')

@section('sidebar')
    @parent

    <p>This is appended to the master sidebar.</p>
@endsection

@section('content')
    <p>This is my body content.</p>
@endsection

Эти файлы выглядят как учебник по laravel, и это так, я пробовал со своими собственными файлами и все равно получил ту же ошибку, поэтому для упрощения я использую файлы laravel.

Итак, дело в том, что я никогда не вижу child.blade.php. Есть ли какая-либо распространенная ошибка, в которой я застрял?

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


person Julian Mendez    schedule 12.06.2018    source источник
comment
вам нужно использовать return view('child'); вместо return view('layout.app');   -  person Derek Pollard    schedule 12.06.2018


Ответы (1)


Что вам нужно на контроллере, так это вызов дочернего представления

public function index()
{
    return view('child');
}

Таким образом, контроллер будет вызывать дочернее представление, а дочернее представление будет вызывать представление приложения, потому что вы расширяете представление приложения в начале дочернего представления.

person Yudi Yohanes Septian Gotama    schedule 12.06.2018