Correction status:qualified
Teacher's comments:合格
局部页面的位置 resources/views/XXX/BBB.blade.php
在主体页面直接写入要调用的局部页面
@include('xxx.bbb')
主体页面负责提供数据并渲染整体效果,向加载的局部页面提供数据
访问:主体页面
模版页面的位置 resources/views/XXX/BBB.blade.php
模版页面提供整体页面效果,不提供数据源
局部页面调用模版页面后,向模版页面提供数据及局部样式
访问:局部页面
方法一:代码块组合
@section(’xxx块名‘)
选择性代码
@show
方法二:变量名
@yield(’xxx块名‘)
模版中可定义多个信息位置,用块名区分
第一行写入要继承的母版:xxx 路径名,bbb 文件名,不需要扩展名
@extends ('XXX.BBB');
定义要写入的信息,用块名区分
@section ('xxxx块名')
@parent 是否要保留母模版内的选择性代码块
局部代码信息
@endsection
以上信息都可以被 @yield 和 @section + @show 组合引用, @section + @show 可以选择保留部分代码,@yield 直接替换
样例如下:
模版页面:lout\index.blade.php
<head>
<meta charset="UTF-8">
<title>@yield('list1')</title>
</head>
<body>
@include('lvio\header')
{{-- -infolist --}}
<div>
<div>
@section ('list0')
<div>
@show
</div>
/</div>
</body>
局部页面:listmov.blade.php
@extends('lout.index');
@section ('list0')
@foreach ($mov_data as $mv)
@parent //保留模版中的代码,放在下面代码前渲染
<img style="height:15rem" src="\img\{{ $mv['img'] }}" alt="...">
<div>
<h5>{{ $mv['mov_name'] }}</h5>
<h6>@foreach ($dir_data as $dv)
@if ($dv['mid']==$mv['mid'])
{{ $dv['d_name'].' 作品' }}
@endif
@endforeach
@foreach ($con_data as $cv)
@if ($cv['cid']==$mv['cid'])
{{ ' '.$cv['cont']}}
@endif
@endforeach
</h6>
<p>{{ $mv['title'] }}</p>
<a href="#" ">了解更多</a>
</div>
</div>
@endforeach
@endsection
@section ('list1')
中国电影
@endsection
模版中inculde的子页面:lvio\header
{{--hearder--}}
<div>
<h5>电影列表</h5>
<nav>
@foreach ($con_data as $v)
<a>{{ $v['cont'] }}</a>
@endforeach
</nav>
</div>
访问: listmove 页面 会加载 index模版页面, index模版页面会include header页面
数据全部由 listmove 页面提供
效果图
在blade 模版中 可以通过 @ 符 调用php的原代码
if判断 用@endif 结束 中间的输出用 {{}} 输出
@if ($cv['cid']==$mv['cid'])
{{ ' '.$cv['cont']}}
@endif
foreach循环 用@endforeach 结束
@foreach ($con_data as $v)
<a>{{ $v['cont'] }}</a>
@endforeach
php原生代码 用@endphp 结束
@php
$i=1;
@endphp