Blogger Information
Blog 28
fans 0
comment 0
visits 19693
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
1105 laravle框架下的inculde文件 与 extends模版引用 20191105 2000-2200
没有人的夏天的博客
Original
697 people have browsed it

laravel 框架下的页面多页面加载

方法一:include加载:在主体页面中加载局部页面

局部页面的位置 resources/views/XXX/BBB.blade.php
在主体页面直接写入要调用的局部页面

@include('xxx.bbb')

主体页面负责提供数据并渲染整体效果,向加载的局部页面提供数据

访问:主体页面

方法二:模版继承:局部页面中向模版页面提供数据和局部样式,需要在局部页面中先继承模版

模版页面的位置 resources/views/XXX/BBB.blade.php

模版页面提供整体页面效果,不提供数据源

局部页面调用模版页面后,向模版页面提供数据及局部样式

访问:局部页面

模版页面:定义局部页面要写入的信息位置及名称:

方法一:代码块组合

  1. @section(’xxx块名‘)
  2. 选择性代码
  3. @show

方法二:变量名

  1. @yield(’xxx块名‘)

模版中可定义多个信息位置,用块名区分

局部页面:代码结构如下:

第一行写入要继承的母版:xxx 路径名,bbb 文件名,不需要扩展名

  1. @extends ('XXX.BBB');

定义要写入的信息,用块名区分

  1. @section ('xxxx块名')
  2. @parent 是否要保留母模版内的选择性代码块
  3. 局部代码信息
  4. @endsection

以上信息都可以被 @yield@section + @show 组合引用, @section + @show 可以选择保留部分代码,@yield 直接替换

样例如下:

模版页面:lout\index.blade.php

  1. <head>
  2. <meta charset="UTF-8">
  3. <title>@yield('list1')</title>
  4. </head>
  5. <body>
  6. @include('lvio\header')
  7. {{-- -infolist --}}
  8. <div>
  9. <div>
  10. @section ('list0')
  11. <div>
  12. @show
  13. </div>
  14. /</div>
  15. </body>

局部页面:listmov.blade.php

  1. @extends('lout.index');
  2. @section ('list0')
  3. @foreach ($mov_data as $mv)
  4. @parent //保留模版中的代码,放在下面代码前渲染
  5. <img style="height:15rem" src="\img\{{ $mv['img'] }}" alt="...">
  6. <div>
  7. <h5>{{ $mv['mov_name'] }}</h5>
  8. <h6>@foreach ($dir_data as $dv)
  9. @if ($dv['mid']==$mv['mid'])
  10. {{ $dv['d_name'].' 作品' }}
  11. @endif
  12. @endforeach
  13. @foreach ($con_data as $cv)
  14. @if ($cv['cid']==$mv['cid'])
  15. {{ ' '.$cv['cont']}}
  16. @endif
  17. @endforeach
  18. </h6>
  19. <p>{{ $mv['title'] }}</p>
  20. <a href="#" ">了解更多</a>
  21. </div>
  22. </div>
  23. @endforeach
  24. @endsection
  25. @section ('list1')
  26. 中国电影
  27. @endsection

模版中inculde的子页面:lvio\header

  1. {{--hearder--}}
  2. <div>
  3. <h5>电影列表</h5>
  4. <nav>
  5. @foreach ($con_data as $v)
  6. <a>{{ $v['cont'] }}</a>
  7. @endforeach
  8. </nav>
  9. </div>

访问: listmove 页面 会加载 index模版页面, index模版页面会include header页面

数据全部由 listmove 页面提供

效果图

@foreach @if @php 的使用

在blade 模版中 可以通过 @ 符 调用php的原代码

if判断 用@endif 结束 中间的输出用 {{}} 输出

  1. @if ($cv['cid']==$mv['cid'])
  2. {{ ' '.$cv['cont']}}
  3. @endif

foreach循环 用@endforeach 结束

  1. @foreach ($con_data as $v)
  2. <a>{{ $v['cont'] }}</a>
  3. @endforeach

php原生代码 用@endphp 结束

  1. @php
  2. $i=1;
  3. @endphp
Correction status:qualified

Teacher's comments:合格
Statement of this Website
The copyright of this blog article belongs to the blogger. Please specify the address when reprinting! If there is any infringement or violation of the law, please contact admin@php.cn Report processing!
All comments Speak rationally on civilized internet, please comply with News Comment Service Agreement
0 comments
Author's latest blog post