对于Blade,似乎yield
不适用于随附的零件。如何填充父模板中包含的零件中定义的部分?
这似乎是一个已知问题: https://github.com/laravel/framework/issues/8970
<body>
@yield('body')
<body>
<html>
@include('template-body')
@yield('other')
</html>
@extends('template-html')
@section('body')
Hello World! (does not work)
@endsection
@section('other')
Does work
@endsection
答案 0 :(得分:0)
您在做什么会给您一个错误。您可以在模板上包括页面以及其他子页面。这取决于您在做什么以及如何做。您应该做的是:
//app.layout
<!DOCTYPE html>
<html>
<head>
<title>@yield('title')</title>
<your-css-files>
@yield('styles')
<your-script files>
@yield('scripts')
</head>
<body>
@include('your page')
@yield('content')
</body>
</html>
然后在您的页面上执行
@extends(app.layout)
@section('content')
<h1>This is a Heading</h1>
<p>This is a paragraph.</p>
@include('your page')
@endsection
on the samepage you can call your styles and scripts as
@section('styles')
//css files
@stop
@section('scripts')
// javascript files
@stop