# 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部署服務器上線
- 第十五講,網站真實高并發架設
- 第十六講,網站真實高并發架設