# ThinkPhP5 视频教程(二十六讲):视图和模板-二
#### 模板布局
现在使用模板布局来进一步简化模板定义。
首先需要定义一个布局模板文件,放到 application/index/view/layout.html内容如下:
~~~
{include file="index/header" title="这是 layout 传过来的title"/}
这是 layout 模板布局
{__CONTENT__}
{include file="index/footer" /}
~~~
application/index/view/index/test28.html改成:
~~~
{--layout name="layout" /--}
{--__NOLAYOUT__--}
<h2>用户列表({$count})</h2>
{volist name="list" id="user" }
<div class="info">
ID:{$user.user_id}<br/>
昵称:{$user.nickname}<br/>
邮箱:{$user.email}<br/>
生日:{$user.birthday}<br/>
</div>
{/volist}
~~~
如果你所有的模板文件都统一使用布局,并且都是有同一个布局模板,那么可以统一配置而不需要在模板文件中使用layout标签定义
在应用配置或者模块配置中添加如下设置参数:
~~~
'template' => [
'layout_on' => true,
'layout_name' => 'layout',
'layout_item' => '[__REPLACE__]'
]
~~~
#### 标签定制
可以设置模板标签的定界符:
~~~
'template' => [
// 模板引擎类型 支持 php think 支持扩展
'type' => 'Think',
// 模板路径
'view_path' => '../template/index/',
// 模板后缀
'view_suffix' => '.tpl',
// 模板文件名分隔符
'view_depr' => '_',
// 模板引擎普通标签开始标记
'tpl_begin' => '{',
// 模板引擎普通标签结束标记
'tpl_end' => '}',
// 标签库标签开始标记
'taglib_begin' => '<',
// 标签库标签结束标记
'taglib_end' => '>',
],
~~~
#### 输出替换
如果部署的目录变化的话,资源文件的路径就会跟着变化,这里我们采用输出替换功能,使得资源文件的引入动态化
可以在输出之前对解析后的内容进行替换,使用:
~~~
/ 读取用户数据
public function read($id='')
{
$user = UserModel::get($id);
$this->assign('user',$user);
$this->view->replace([
'__PUBLIC__' => '/static',
]);
return $this->fetch();
}
~~~
模板文件改为:
~~~
<html>
<head>
<meta charset="UTF-8">
<title>[title]</title>
<link charset="utf-8" rel="stylesheet" href="__PUBLIC__/common.css">
</head>
<body>*
~~~
~~~[youku]
XMjc0MDg3MzEyMA =856x523
~~~
**如果视频无法播放,多换几个浏览器试试, 优酷很垃圾, 很多浏览器不兼容.**
Demo下载地址: http://pan.baidu.com/s/1dEDCmgp
视频播放密码: tp99999
[需要TPshop商城源码的可前往TPshop官网免费下载安装](http://www.tp-shop.cn)
- 第一讲、课程大纲
- 第二讲、入门与安装-上
- 第二讲、入门与安装-下
- 第三讲、URL和路由-路由
- 第四讲、URL和路由-URL
- 第五讲、请求和响应-请求
- 第六讲、请求和响应-响应
- 第七讲、SQL追踪器
- 第八讲、数据库-基本操作
- 第九讲、数据库操作-事务
- 第十讲、查询语言-上
- 第十一讲、查询语言-下
- 第十二讲、模型和关联-上
- 第十三讲、模型和关联-下
- 第十四讲、读取器与修改器
- 第十五讲、转换与自动完成
- 第十六讲、查询范围
- 第十七讲、输入和验证-上
- 第十八讲、输入和验证-下
- 第十九讲、关联-一
- 第二十讲、关联-二
- 第二十一讲、关联-三
- 第二十二讲、关联-四
- 第二十三讲、关联-五
- 第二十四讲、模型输出
- 第二十五讲、视图和模板-一
- 第二十六讲、视图和模板-二
- 第二十七讲、调试和日志
- 第二十八讲、API开发
- 第二十九讲、扩展
- 第三十讲、浅析session,cookie机制
- 第三十一讲、session的使用
- 第三十二讲、cookie的使用
- 第三十三讲、验证码
- 第三十四讲、文件上传
- 第三十五讲、图像处理
- 第三十六讲、版本3.2和5的差别
- 第三十七讲、未来与总结
- 第二套、TPshop大型项目实战
- TPshop项目实战
- 第一讲、内容介绍
- 第二讲、TPshop window安装
- 第三讲、TPshop linux安装
- 第四讲、TPshop目录结构
- 第五讲、单点登录
- 第六讲、支付插件原理
- 第七讲、支付宝支付集成
- 第八讲、微信支付
- 第九讲、银联支付
- 第十讲、TPshop QQ快捷登录
- 第十一讲、支付宝登录
- 第十二讲,微信扫码登录
- 第十三讲,新手入门微信开发
- 第十四讲,10分钟将TPshop部署服务器上线
- 第十五讲,网站真实高并发架设
- 第十六讲,网站真实高并发架设