html继承 模板,模板继承

模板继承是 ThinkCMF推荐一种布局方式,它比上一篇讲的模板布局更灵活;模板继承就是你先定义一个基础的模板,在这个基础模板你可以设置很多个区块( block),然后在其它实际要渲染的子模板文件中用 extend标签继承这个基础模板,在子模板中定义name相同的 block,这样就可以对基础模板中定义的区块进行重载;

每个区块都是这样的标签,如:

左边

每个 block 标签必须有个 name 属性,并且保证它在此个模板文件中是惟一的,在block中可以包含任何模板内容,标签,变量,甚至是 include标签,如:

左边

{$name}

{$hello}

在每个模板中可以定义任意多个 block,只要 block的 name 值不相同;如我们在主题根目录定义一个 base.html 基础模板

标题

导航菜单

内容

右边分栏

{__block__}

由 ThinkCMF强力驱动

下面我们在子模板(也就是我们实际要渲染的模板)中使用继承标签:

首页

这是首页内容

这里是底部,我不想写了

以上演示的是一个首页模板代码,我们可以看到在这个模板中使用了extend标签来继承了主题根目录的base.html模板,在这个模板代码中,我们同样定义很多 block对base中的block进行重载,如果想沿用基础模板中的block,你就可以不用新定义这个 block,如果你想删除基础模板中的某个区块内容,就可以为它定义一个空的 block,首页模板代码中我们就把右边栏删除了,其他的区块都进行了重载.

如果你看得仔细点,会发现:

{__block__}

由 ThinkCMF强力驱动

这个代码中我们有个{__block__}这样的标记,它表示把子模板这个block解析后的内容替换到这里,它其实就是一个占位标记.

extend 标签的用法和 include 标签的用法一样:

注意在渲染子模板时,只会渲染 block 标签中的内容,block标签之外的内容是直接被忽略的,如:

```

首页

这里你就是写1W行代码也没有用!

这里你就是写1W行代码也没有用!

这里你就是写1W行代码也没有用!

这里你就是写1W行代码也没有用!

这是首页内容

这里是底部,我不想写了

```

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值