资讯专栏INFORMATION COLUMN

Laravel Blade模板的常用结构以及嵌套方法

KevinYan / 1108人阅读

Laravel自带的Blade模板很强大也很方便

我们使用模板一般除了传递变量以外还有一个重要的用途就是嵌套

通过嵌套我们可以把公共的部分多带带拉出来,在需要的地方引入避免重复劳动

根据官方文档我们可以知道模板常用命令有下面这几个

@section 定义

@yield 展示

@extends 继承

@include 引入

另外@iF @else @while @unlesss等控制相关这里就不赘述了

比较常用的模板结构

这里举个实际的例子

比如我们 有三个页面,首页,列表页和详情页,分别是index,list,detail

在这三个页面中需要共同使用的部分有 页面的外围template,导航栏部分head

其中template用来放整个页面的框架布局




    
    测试
    
    
    
    
    
    
    
    



@yield("head") @yield("content")

我们在定义了主体容器container的同时,用@yield命令告诉模板我们要在这里放哪些section

这里我们虽然定义了templade作为整体布局,但是我们在控制器里并不能把view指向template而是要指向到具体的页面
比如首页

return view("index");

index模板页面如下

@extends("layouts.template")
@extends("layouts.head")
@section("content")
这里是页面的实际内容
@stop

index页面做了什么呢?
首先它把所有需要用的模板引入了进来,包括template和head
然后它有定义了一个叫content的section。

head模板页面如下

@section("head")
    
  • 菜单1
  • 菜单2
  • 菜单3
@stop

至此,一套基本可用的模板就搭建好了。
目录结构是这样的

resources/
    views/
        index.blade.php
        list.blade.php
        detail.blade.php
        layouts/
            template.blade.php
            head.blade.php

流程是这样的

Controller指向模板index.blade.php

index模板引入template模板和head模板,并定义content section

template模板展示自身内容并展示对应的section内容

其中index负责引入所有模板,template负责整体结构和展示,index和head模板负责定义section里面的内容

特殊嵌套

还有一种比较特殊的需求是需要在默写特定的section 里面引入一小块公共模板
比如有些页面的右侧可以放个热门列表

这时候我们可以在layouts里面价格模板right.blade.php
内容如下

热门阅读

  • 文章1
  • 文章2
  • 文章3

一定要注意不要定义section

然后在需要引用的地方用@include

这个方法无论是section里面还是外面都可以直接用的

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/22205.html

相关文章

  • Laravel入门及实践,快速上手ThinkSNS+二次开发

    摘要:在中,提示符可能是。框架使用来执行安装及管理依赖。为了能访问网页,要启动程序服务器。在大多数类系统中,包括,命令行提示符是符号。这两个操作分别对应于的和,即创建和读取。首个表单要在模板中编写表单,可以使用表单构造器。 【摘要】自从ThinkSNS+不使用ThinkPHP框架而使用Laravel框架之后,很多人都说技术门槛抬高了,其实你与TS+的距离仅仅只是学习一个新框架而已,所以,我们...

    glumes 评论0 收藏0
  • Laravel 模板引擎(Blade)原理简析

    摘要:上次提到过,模板引擎一般是要做三件事情变量值的输出条件判断和循环引入或继承其他文件现在就来看看的模板引擎是如何来处理这三件事情的。引擎接下来就是本文的重点是如何编译的。如果有兴趣的话,也可以实现一个自己的模板解析引擎。 上次提到过,模板引擎一般是要做三件事情: 变量值的输出(echo) 条件判断和循环(if ... else、for、foreach、while) 引入或继承其他文件 ...

    vvpvvp 评论0 收藏0
  • Laravel 5~嵌套评论实现

    摘要:经常我们看见评论显示形式有很多,比如某某,又或者像知乎的收缩式的评论,又或者是嵌套式的评论,那么最一开始也是最常见的就是嵌套式评论,因为这个更加醒目准备工作设计三张表,表结构如下层文件一篇文章有 经常我们看见评论显示形式有很多,比如@某某,又或者像知乎的收缩式的评论,又或者是嵌套式的评论,那么最一开始也是最常见的就是嵌套式评论,因为这个更加醒目. 准备工作1.设计三张表users,po...

    ethernet 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<