Laravel Blade @extends и @yield не работают - PullRequest
1 голос
/ 20 мая 2019

Итак, у меня есть input.blade.php, который расширяет register.blade.php (который расширяет app.blade.php), но содержимое в @section ('input.agent') моего input.blade.php не является виден в моем register.blade.php с @yield ('input.agent'), который находится под панелью вкладок тела карты (немного сложно найти, но она есть).

Это мой register.blade.php

@extends('layouts.app')

@section('content')
<div class="container">
    <div class="card">
        <div class="card-header">
            <nav>
                <div class="nav nav-tabs card-header-tabs" id="nav-tab" role="tablist">
                    <a class="nav-item nav-link active" id="nav-agent-tab" data-toggle="tab" href="#nav-agent" role="tab" aria-controls="nav-agent" aria-selected="true">Agent</a>
                    <a class="nav-item nav-link" id="nav-development_officer-tab" data-toggle="tab" href="#nav-development_officer" role="tab" aria-controls="nav-development_officer" aria-selected="false">Development Officer</a>
                </div>
            </nav>
        </div>
        <div class="card-body">
            <div class="tab-content" id="nav-tabContent">
                <div class="tab-pane fade show active" id="nav-agent" role="tabpanel" aria-labelledby="nav-agent-tab">@yield('input.agent')</div>
                <div class="tab-pane fade" id="nav-development_officer" role="tabpanel" aria-labelledby="nav-development_officer-tab">Hello</div>
            </div>
        </div>
    </div>
</div>
@endsection

Это мой input.blade.php

@extends('auth.register')

@section('input.agent')
    <h1>Hello</h1>
@endsection

это web.php под маршрутами

<?php

/*
|--------------------------------------------------------------------------
| Web Routes
|--------------------------------------------------------------------------
|
| Here is where you can register web routes for your application. These
| routes are loaded by the RouteServiceProvider within a group which
| contains the "web" middleware group. Now create something great!
|
*/

Route::get('/', function () {
    return view('welcome');
});

Auth::routes();

Route::get('/home', 'HomeController@index')->name('home');

Мои каталоги:

view=>auth=>register.blade.php

view=>input=>input.blade.php

view=>layouts=>app.blade.php

Пожалуйста, помогите мне Что я тут не так делаю?

1 Ответ

0 голосов
/ 20 мая 2019

попробуйте использовать @include вместо @yield:

<div class="tab-pane fade show active" id="nav-agent" role="tabpanel" aria-labelledby="nav-agent-tab">@include('input.input')</div>

в вашем register представлении.

и удалить:

@extends('auth.register')

@section('input.agent')
@endsection

в вашем input виде (оставьте только HTML).

в противном случае вам придется вернуть input представление вместо register.

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