THINKPHP5.1模板布局

本文介绍如何在ThinkPHP框架中使用模板布局功能,通过简单的配置即可实现页面头部和尾部的统一管理,便于维护且能快速改变主体内容。

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

模板布局适用于首部和尾部基本上不发生变化的网页,比如企业网站等

要使用模板布局,首先需要在application\config\template.php中开启layout

<?php
// +----------------------------------------------------------------------
// | ThinkPHP [ WE CAN DO IT JUST THINK ]
// +----------------------------------------------------------------------
// | Copyright (c) 2006~2018 http://thinkphp.cn All rights reserved.
// +----------------------------------------------------------------------
// | Licensed ( http://www.apache.org/licenses/LICENSE-2.0 )
// +----------------------------------------------------------------------
// | Author: liu21st <liu21st@gmail.com>
// +----------------------------------------------------------------------

// +----------------------------------------------------------------------
// | 默认模板引擎设置
// +----------------------------------------------------------------------
define('DS',DIRECTORY_SEPARATOR);
return [
    // 模板引擎类型 支持 php think 支持扩展
    'type'         => 'Think',
    // 默认模板渲染规则 1 解析为小写+下划线 2 全部转换小写 3 保持操作方法
    'auto_rule'    => 1,
    // 模板路径
     'view_path'    => '',
    // 视图分离,定义全局的视图根目录,然后模块作为子目录
    // 'view_base'    => Env::get('ROOT_PATH').'resources'.DS.'views'.DS,
    // 模板后缀
    'view_suffix'  => 'html',
    // 模板文件名分隔符
    'view_depr'    => DS,
    // 模板引擎普通标签开始标记
    'tpl_begin'    => '{',
    // 模板引擎普通标签结束标记
    'tpl_end'      => '}',
    // 标签库标签开始标记
    'taglib_begin' => '{',
    // 标签库标签结束标记
    'taglib_end'   => '}',
    // 输出替换
    'tpl_replace_string' => [
        '__STATIC__' => '/static',
        '__JS__' => '/static/js',
        '__CSS__' => '/static/css',
    ],
    // 开启模板布局
    'layout_on' => true,
    'layout_name'=>'layout',
];

这两行代码便是开启模板布局的核心代码:

    // 开启模板布局
    'layout_on' => true,
    // 设定layout的文件名称
    'layout_name'=>'layout',

当开启模板布局之后,视图的渲染就不再是直接渲染到控制器方法对应的html文件了,而是会先去访问view/layout.html文件,根据layout.html做出相应的渲染动作

layout.html文件:application\demo\view\layout.html

{include file='header' /}
{__CONTENT__}
{include file='footer' /}

header.html文件:application\demo\view\header.html,对应{include file='header' /}

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>Title</title>
</head>
<body>
<h2 style="color: red;">我是网站的头部</h2>

footer.html文件:application\demo\view\footer.html,对应{include file='footer' /}

<h2 style="color: green;">我是网站的尾部</h2>
</body>
</html>

__CONTENT__所替换的内容对应的文件:application\demo\view\demo8\test1.html,对应{__CONTENT__}

<h2 style="color: blue;">我正在学习PHP中文网的视频</h2>

控制器:

<?php
/**
 * Created by PhpStorm.
 * User: 10475
 * Date: 2018/9/1
 * Time: 17:30
 */

namespace app\demo\controller;

use think\Controller;
class Demo8 extends Controller
{
    public function test1()
    {
        return $this->view->fetch();
    }
}

使用了模板布局后,无论你{__CONTENT__}对应的文件内容怎么变,网页首部和尾部都不会发生变化

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值