官网
教程
文档
官网文档
小程序集群与uniapp
小程序app接口教程
冰蓝世界版
阿赖耶识与随风版
网站首页
齐博X1教程专栏
文章列表
推荐
block模板的分块替换
超级蜘蛛查
2024-02-28 16:36:31
108
比如布局模板`\template\index_style\default\index\layout.htm`中每个区块由`{block} {/block}`标签组成。 下面就是基础模板中的一个典型的区块设计(用于设计网站标题): ~~~ {block name="title"}网站标题{/block} ~~~ block标签必须指定`name`属性来标识当前区块的名称,这个标识在当前模板中应该是唯一的,block标签中可以包含任何模板内容,包括其他标签和变量,例如: ~~~ {block name="head_title"}{$webdb.seo_title}{/block} ~~~ 你甚至还可以在区块中加载外部文件: ~~~ {block name="body_Footcont"} {include file="index@footmenu" /} {/block} ~~~ 一个模板中可以定义任意多个名称标识不重复的区块,例如下面定义了一个base.html基础模板: ~~~ {block name="title"}标题{/block} {block name="menu"}菜单{/block} {block name="left"}左边分栏{/block} {block name="main"}主内容{/block} {block name="right"}右边分栏{/block} {block name="footer"}底部{/block} ~~~ 然后我们在子模板(其实是当前操作的入口模板)中使用继承: ~~~ {extend name="$index_style_layout" /} {block name="title"}{$title}{/block} {block name="menu"} 首页 资讯 论坛 {/block} {block name="left"}{/block} {block name="main"} {volist name="list" id="vo"} {$vo.title} {$vo.content} {/volist} {/block} {block name="right"} 最新资讯: {volist name="news" id="new"} {$new.title} {/volist} {/block} {block name="footer"} {__block__}]@ThinkPHP 版权所有 {/block} ~~~ 上例中,我们可以看到在子模板中使用了extend标签来继承了母模板`$index_style_layout`。 在子模板中,可以对基础模板中的区块进行重载定义,如果没有重新定义的话,则表示沿用基础模板中的区块定义,如果定义了一个空的区块,则表示删除基础模板中的该区块内容。 上面的例子,我们就把left区块的内容删除了,其他的区块都进行了重载。而 * * * * * **特别注意:** ~~~ {block name="footer"} {__block__}@ThinkPHP 版权所有 {/block} ~~~ 这一区块中有{_block_}这个标签,当区块中有这个标记时,就不只是直接重载这个区块,它表示引用所继承模板对应区块的内容到这个位置,最终这个区块是合并后的内容。所以这里footer区块最后的内容是: 底部@ThinkPHP 版权所有 extend标签的用法和include标签一样,你也可以加载其他模板: ~~~ {extend name="$index_style_layout" /} ~~~ 或者使用绝对文件路径加载 ~~~ {extend name="./Template/Public/base.html" /} ~~~ * * * * * **再特别注意:** * * * * * **在当前子模板中,只能定义区块。而不能在区块外面定义其他的模板内容,否则将会直接忽略,并且只能定义基础模板中已经定义的区块。** 重要的事再重复一次,并且只能定义基础模板中已经定义的区块。 例如,如果采用下面的定义: ~~~ {block name="title"}{$title}{/block} 首页 资讯 论坛 ~~~ 下面的三个链接导航部分将是无效的,不会显示在模板中。因为他在区块的外面。 子模板中的区块定义顺序是随意的,模板继承的用法关键在于基础模板如何布局和设计规划了,如果结合原来的布局功能,则会更加灵活。 *下面这个极少用, 大家可以了解一下即可* 模板可以多级继承,比如B继承了A,而C又继承了B,最终C中的区块会覆盖B和A中的同名区块,但C和B中的区块必须是A中已定义过的。
本文链接:https://x1.wanxiangsucai.com/read/222.html
上一篇:
下一篇:齐博x1云标签插件-一件提取关键词无法使用的解决办法
相关文章推荐
1.
如何开启自定义标签模板功能
2.
齐博x1第三季《模板风格的制作》系列
3.
微信公众号及小程序订阅模板消息的配置
4.
小程序风格模板设置
5.
工单碎片模板制作教程
6.
列表及内容页模板的优先级顺序
7.
添加公众号模板消息
8.
如何给内容页自定义个性模板
9.
Default下index中的模板分析
10.
APP几个重要接口在模板中的调用
齐博X1教程专栏最新文章
1.
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
2.
齐博x1云标签插件-一件提取关键词无法使用的解决办法..
3.
关于thinkphp5
4.
齐博X1更新记录
5.
解决Web部署 svg/woff/woff2字体 404错误
6.
云市场注意事项
7.
如何调取当前模块ID
8.
URL伪静态设置
9.
QQ登录接口配置
10.
邮箱接口设置之QQ企业邮箱
齐博X1教程专栏文章推荐
1.
导航的高亮处理
2.
如何使用定时群发消息
3.
第四集,实战篇,万能数据统计碎片
4.
风格模板教程
5.
模块后期要加参数的方法
6.
一段不错的小js提高一点点阅读体验 计算本文阅读所需的时长..
7.
用异步加载,可加快网页打开速度
8.
会员中心如何加标签
9.
任何页面加入即时聊天功能
10.
如何给会员中心菜单及后台菜单传更多的参数
建站工具推荐
您可能感兴趣的文章
通过随机二次元壁纸接口向齐博x1 bbs系统发布信息
齐博x1云标签插件-一件提取关键词无法使用的解决办法
关于thinkphp5
齐博X1更新记录
解决Web部署 svg/woff/woff2字体 404错误
云市场注意事项
如何调取当前模块ID
URL伪静态设置
QQ登录接口配置
邮箱接口设置之QQ企业邮箱