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

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

第一步:在View文件里新建Public文件 创建base.html
thinkphp 共用html文件 头文件 extend的使用
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文件,用于控制器继承
thinkphp 共用html文件 头文件 extend的使用

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可根据需要,重新赋值变化。
如需帮助请留言!