thinkphp 共用html文件 头文件 extend的使用

本文介绍了一种在后端开发中实现模板继承的方法,通过创建公共头部文件并利用ThinkPHP框架的特性,使得多个静态页面可以共享相同的头部内容,包括用户名、退出链接、栏目名称等,同时展示了如何在控制器中进行变量赋值以动态显示页面标题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

通常在开发后台过程中,我们需要使用一个公共的头部文件,一般头部内容包含用户名,退出,栏目名称,公司,公共CSS,JS等信息。不可能每个静态文件都去重新复制一遍代码,那如何让其他静态页面继承公共文件呢?

第一步:在View文件里新建Public文件 创建base.html
在这里插入图片描述
base.html代码
注意title和company

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>{$title}</title>
</head>
<body>
<div id="top_bar">
    <div>
        <div ><a href="#">标题:{$title}</a></div>
        <div >
            <span>你好:{$company}</span><a href="{:U('Public/logout')}" >退出</a>
        </div>
    </div>
</div>
<block name="main">主内容</block>
</body>
</html>

第二步:引入base文件的静态页面

例如在Index/index中引入,加入如下代码

<extend name="Public/base"/>

第三步:新建BaseController文件,用于控制器继承
在这里插入图片描述

namespace Admin\Controller;
use Think\Controller;
class BaseController extends Controller
{
    public $title;
    public function _initialize()
    {
        $company="电风扇123科技";//BASE文件{$company}使用,赋值公司名称
        $this->assign("company",$company);
    }
}

第四步:indexController 继承 BaseController

namespace Admin\Controller;
use Think\Controller;
class IndexController extends BaseController {
    public function index(){

        $title='充值中心';
        $this->assign("title",$title);
        $this->display();
    }
}

最后不管哪个控制器继承base,静态页面公司名称都无需重新赋值。title可根据需要,重新赋值变化。
如需帮助请留言!

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值