真的在这上面挠头了。我希望能看到我的错误。
我在每个页面上都有一个标题,但是标题仅显示在home.blade.php上,而其他页面则没有。
master.blade.php
<!DOCTYPE html>
<html lang="{{ app()->getLocale() }}">
<head>
<meta charset="utf-8" />
<meta http-equiv="X-UA-Compatible" content="IE=edge" />
<meta name="viewport" content="width=device-width, initial-scale=1, shrink-to-fit=no" />
<meta name="csrf-token" content="{{ csrf_token() }}" />
<title>@yield('title')</title>
@stack('styles')
</head>
<body class="bg-light">
<div class="container-fluid h-100">
@yield('app')
</div>
@include('sweetalert::alert')
{{ Session::forget('alert') }}
@stack('scripts')
</body>
</html>
app.blade.php
@extends('layout.master')
@prepend('styles')
<!-- Bootstrap CSS -->
<link rel="stylesheet" href="https://stackpath.bootstrapcdn.com/bootstrap/4.4.1/css/bootstrap.min.css" integrity="sha384-Vkoo8x4CGsO3+Hhxv8T/Q5PaXtkKtu6ug5TOeNV6gBiFeWPGFN9MuhOf23Q9Ifjh" crossorigin="anonymous">
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/flatpickr/dist/flatpickr.min.css">
<link rel="stylesheet" type="text/css" href="{{ URL::asset('css/overrides.css') }}" />
@endprepend
@section('app')
<div class="row">
<div class="col-12 no-padding">
@include('layout.includes.header')
</div>
</div>
<div class="row h-100">
<div class="col-12">
<!-- Begin nav/content row -->
<div class="row h-100">
<div id="sidebar-wrapper" class="visible">
@include('layout.includes.nav')
</div>
<!-- Begin main column -->
<div class="col content" style="overflow-x:auto;">
@if (Request::path() === '/')
<div class="row no-padding">
<div class="col d-none d-sm-block">
<h4>@yield('content-heading')</h4> <!-- [my @yield directive is here] -->
</div>
<div class="col flex-grow-1">
@include('layout.includes.searchform')
</div>
</div>
@endif
<div class="row no-padding inner-box shadow p-3 mb-5 bg-white rounded">
@yield('content')
</div>
</div>
<!-- END main column-->
</div>
<!-- END nav/content row-->
</div>
</div>
@endsection
@prepend('scripts')
@include('layout.js.footer-js')
@yield('form-js')
@endprepend
home.blade.php
@extends('layout.app')
@section('title', 'Asset Management')
@section('content-heading', 'View All Assets') //This works
@section('content')
<div class="table-responsive">
<table class="table table-striped text-nowrap">
<caption>Recently Added Assets</caption>
<thead>
<tr>
<th scope="col">Tag #</th>
<th scope="col">Type</th>
<th scope="col">Device</th>
<th scope="col">Serial #</th>
<th scope="col">Assigned</th>
<th scope="col">To</th>
<th scope="col">Status</th>
</tr>
</thead>
<tbody>
@foreach ($assets as $asset)
<tr>
<td>{{ $asset->asset_tag }}</td>
<td>{{ $asset->cat_name }}</td>
<td>{{ $asset->man_name }} {{ $asset->model_name }}</td>
<td>{{ $asset->serial }}</span></td>
<td>{{ \Carbon\Carbon::parse($asset->assign_date)->format('D M d, Y g:iA') }}</td>
<td>{{ $asset->name }}</td>
<td>{{ $asset->status }}</td>
</tr>
@endforeach
</tbody>
</table>
</div>
@endsection
@section('form-js')
@endsection
@push('scripts')
@endpush
我的其他页面的布局都与home.blade.php相同,例如:
@extends('layout.app')
@section('title', 'Checkout Asset')
@section('content-heading', 'Checkout Asset') //Does not output to template
@section('content')
Content here...
@endsection
@push('scripts')
@endpush
为什么<h4>@yield('content-heading')</h4>
仅在home.blade.php上工作?
答案 0 :(得分:1)
显示GenerationType
的代码包装在:
@yield('content-heading')
将显示内容限制为该网址。
:)