包含内部部分不起作用Laravel Blade

时间:2019-07-16 11:34:43

标签: laravel laravel-blade

我的子模板中有一个@section,并且我试图在其中包含另一个模板,但这不起作用。 我的父模板看起来像这样:

<!DOCTYPE html>
<html lang="en">
<head>

    <!-- X-csrf token -->

    <meta name="csrf-token" content="{{ csrf_token() }}">

    {{-- Custom CSS --}}

    @yield('head')

    {{-- Open Sans font --}}

    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300&display=swap" rel="stylesheet">

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>{{$title}}</title>
</head>
<body>

    @yield('content')

    @yield('footer')

</body>

    {{-- JS files --}}

    @yield('javascript')

</html>

我的孩子模板代码:

@extends('layouts.app')

{{-- /////////////////////////////////////////////////////////////////// --}}

@section('head')

    {{-- Custom CSS for index page --}}

    <link rel="stylesheet" type="text/css" href="{{asset('css/index.css')}}">

@endsection

{{-- /////////////////////////////////////////////////////////////////// --}}

@section('header')

    <header>

        @include('navbar')

    </header>

@endsection

{{-- /////////////////////////////////////////////////////////////////// --}}

@section('content')

    <section>

        <div class="entry-texts">

            <h1 class="entry-title">Welcome to my page!</h1>

            <h2 class="entry-subtitle">Must be some text in here.</h2>

        </div>

    </section>

@endsection

{{-- /////////////////////////////////////////////////////////////////// --}}

@section('footer')

    <footer>

    </footer>

@endsection

{{-- /////////////////////////////////////////////////////////////////// --}}

@section('javascript')



@endsection

问题出在这部分:

@section('header')

    <header>

        @include('navbar')

    </header>

@endsection

它在标题标记中不包含我的导航栏。我的导航栏文件位于views目录中。问题是什么,我在做什么错了?

4 个答案:

答案 0 :(得分:2)

您的父模板没有@yield('header'),而您的navbar位于名为@section('header')的部分中

答案 1 :(得分:1)

您正在产生 head ,但使用的是 header 部分。这就是问题。 使用@section('head')

答案 2 :(得分:0)

请稍作澄清。您的头部应以stop结束,以产生脚本和样式:

@section('head')

    {{-- Custom CSS for index page --}}

    <link rel="stylesheet" type="text/css" href="{{asset('css/index.css')}}">

@stop

答案 3 :(得分:-1)

您应该尝试以下操作:

<!DOCTYPE html>
<html lang="en">
<head>

    <!-- X-csrf token -->

    <meta name="csrf-token" content="{{ csrf_token() }}">

    {{-- Custom CSS --}}

    @section('head')

    {{-- Open Sans font --}}

    <link href="https://fonts.googleapis.com/css?family=Open+Sans:300&display=swap" rel="stylesheet">

    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <title>{{$title}}</title>
</head>
<body>

    @yield('content')

    @yield('footer')

</body>

    {{-- JS files --}}

    @yield('javascript')

</html>