我的刀片结构有问题。我有一个基本布局模板,一个内容页面模板和子模板。
将以下片段作为参考
基本模板
<!DOCTYPE html>
<html lang="en">
@include('head')
</head>
<body>
@include('body-open')
@yield('main')
@include('footer')
@include('body-close')
</body>
</html>
内容模板
@extends('base')
@section('main')
content
@include('my-other-section-that-has-another-section-declaration-inside')
@overwrite
@section('body.script')
this is an extended script
@stop
正文模板
@section('body-open')
this is the original content
@stop
my-other-section-that-another-section-declaration-inside模板
this is cool
@section('body-open')
@parent
this should append to body open.
@stop
这是我的预期结果
<!DOCTYPE html>
<html lang="en">
</head>
<body>
this is the original content
this should append to body open.
content
this is cool
</body>
</html>
但我正在改变这个内容
<!DOCTYPE html>
<html lang="en">
</head>
<body>
this is the original content
content
this is cool
</body>
</html>
请注意,行应该附加到正文开放。已被跳过,并且不会附加到其预定的部分。
我的代码出错吗?或者这种方法可行吗?
谢谢!
答案 0 :(得分:0)
检查您的包含订单。
您首先加载此部分:my-other-section-that-has-another-section-declaration-inside template
:
@section('body-open')
@parent
this should append to body open.
@stop
在上面你尝试拨打@parent
- 但是这个是空的,所以你只能在正文开放部分中使用这个:this should append to body open.
现在。
在此之后:@include('body-close')
您将获得:
@section('body-open')
this is the original content
@stop
...没有@parent
电话 - 所以你将用this is the original content
覆盖这一部分 - 这就是你在这里所能想到的。您可以尝试修复它:
@section('body-open')
this is the original content
@parent
@stop