欢迎来到辽宁社交动力网络科技有限公司
建站资讯

当前位置: 首页 > 建站资讯 > 建站教程 > PHP教程

ThinkPHP框架怎么使用模板继承_ThinkPHP模板布局与区块管理

作者:网站优化 来源:php 教程日期:2025-10-17
ThinkPHP通过模板继承和布局功能提升页面复用性。1. 在config/template.php中设置'layout_on'=>true开启布局,或在控制器中调用layout()方法;2. 创建view/layout.html定义公共结构,使用<block>标签声明可替换区块;3. 子模板首行使用<extend name="layout"/>继承,并通过<block>填充内容;4. 支持append/prepend追加脚本资源,结合include拆分组件,提高维护效率。

thinkphp框架怎么使用模板继承_thinkphp模板布局与区块管理

ThinkPHP 框架中的模板继承和布局功能,能有效提升前端页面结构的复用性和维护效率。通过模板继承,可以定义一个基础模板(布局文件),然后在其他页面中继承它,并替换或填充指定区块内容,避免重复编写 HTML 结构。

1. 启用模板布局

在使用模板继承前,需先开启布局功能。ThinkPHP 通常在控制器或配置文件中设置是否启用布局。

说明:

可以在应用配置文件 config/template.php 中开启布局:

'layout_on' => true,'layout_name' => 'layout', // 布局文件名,默认为 layout.html
登录后复制

或者在控制器中动态开启:

立即学习“PHP免费学习笔记(深入)”;

<pre class="brush:php;toolbar:false;">$this->view->engine->layout('layout');
登录后复制

开启后,所有视图输出会自动套用指定的布局文件。

2. 定义基础布局模板

在视图目录下创建基础布局文件,如 view/layout.html,用于定义公共结构(如头部、尾部、导航栏等)。

<pre class="brush:php;toolbar:false;"><!DOCTYPE html><html lang="zh"><head>    <meta charset="UTF-8">    <title><block name="title">默认标题</block></title>    <link rel="stylesheet" href="/static/css/common.css"></head><body>    <header>        <h1>网站标题</h1>        <nav>导航菜单</nav>    </header><pre class="brush:php;toolbar:false;"><code><main>    <block name="content">        默认内容区域    </block></main><footer>    <p>© 2025 版权信息</p></footer><script src=http://www.shejiaodongli.com/skin/default/image/nopic.gif>登录后复制

</body></html>

上述代码中,<block> 标签定义了可被子模板替换的区块,name 属性为区块名称。

3. 子模板继承与区块替换

在具体页面模板中,使用 extend 标签继承基础布局,并通过 block 标签填充或覆盖对应区域。

AiPPT模板广场 AiPPT模板广场

AiPPT模板广场-PPT模板-word文档模板-excel表格模板

AiPPT模板广场50 查看详情 AiPPT模板广场

例如创建 view/index/index.html

<pre class="brush:php;toolbar:false;"><extend name="layout" /><p><block name="title">首页 - 我的网站</block></p><p><block name="content"><h2>欢迎访问首页</h2><p>这是首页的专属内容。</p></block></p>
登录后复制

渲染时,ThinkPHP 会将该模板的内容注入到 layout.html 对应的区块中,生成完整页面。

提示:

extend 标签必须放在模板的第一行,不能有其他输出。未定义的 block 会保留布局文件中的默认内容。支持嵌套 block,可在父 block 中使用 {__block__} 引用原内容。

4. 区块的高级用法

ThinkPHP 的区块系统支持更灵活的操作,比如追加内容或包含原内容。

若想在保留父模板内容的基础上添加新内容,可使用 appendprepend

<pre class="brush:php;toolbar:false;"><block name="script" append>    <script src=http://www.shejiaodongli.com/skin/default/image/nopic.gif>登录后复制

也可以在布局中预留 script 区块:

<pre class="brush:php;toolbar:false;"><block name="script"></block>
登录后复制

这样不同页面可追加各自所需的 JS 文件,实现资源按需加载。

基本上就这些。掌握模板继承和区块管理后,能大幅提升页面开发效率,保持结构统一又不失灵活性。实际项目中建议将公共布局、头部、侧边栏等拆分为独立模板,结合 include 和 extend 使用,结构更清晰。

以上就是ThinkPHP框架怎么使用模板继承_ThinkPHP模板布局与区块管理的详细内容,更多请关注php中文网其它相关文章!

标签: php教程视频
上一篇: PHP一键环境如何设置定时任务_CronJob定时任务配置
下一篇: 暂无

推荐建站资讯

更多>