laravel如何在包含的模板内部产生?

时间:2019-06-03 14:22:55

标签: php laravel

对于Blade,似乎yield不适用于随附的零件。如何填充父模板中包含的零件中定义的部分?

这似乎是一个已知问题: https://github.com/laravel/framework/issues/8970

template-body.blade.php

<body>
@yield('body')
<body>

template-html.blade.php

<html>
@include('template-body')
@yield('other')
</html>

foo.blade.php

@extends('template-html')
@section('body')
Hello World! (does not work)
@endsection
@section('other')
Does work
@endsection

1 个答案:

答案 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