這種方式僅需在項目配置文件中添加相關的布局模板配置,就可以簡單實現模板布局功能,比較適用于全站使用相同布局的情況,需要配置開啟LAYOUT\_ON 參數(默認不開啟),并且設置布局入口文件名
LAYOUT\_NAME(默認為layout)。
'LAYOUT\_ON'=>true, 'LAYOUT\_NAME'=>'layout',
'LAYOUT\_ON'=>true, 'LAYOUT\_NAME'=>'layout',
開啟LAYOUT\_ON后,我們的模板渲染流程就有所變化,例如:
namespace Home\\Controller; use Think\\Controller;
Class UserController extends Controller{ Public function add() {
$this->display('add');
}
}
namespace Home\\Controller; use Think\\Controller;
Class UserController extends Controller{ Public function add() {
$this->display('add');
}
}
在不開啟LAYOUT\_ON布局模板之前,會直接渲染 Application/Home/View/User/add.html 模板文件, 開啟之后,首先會渲染 Application/Home/View/layout.html 模板,布局模板的寫法和其他模板的寫法類似,本身也可以支持所有的模板標簽以及包含文件,區別在于有一個特定的輸出替換變量
{ CONTENT } ,例如,下面是一個典型的layout.html模板的寫法:
<include file="Public:header" />
{ CONTENT }
<include file="Public:footer" />
<include file="Public:header" />
{ CONTENT }
<include file="Public:footer" />
讀取layout模板之后,會再解析件的{CONTENT} 特定字符串。
User/add.html
User/add.html
模板文件,并把解析后的內容替換到layout布局模板文
當然可以通過設置來改變這個特定的替換字符串,例如:
'TMPL\_LAYOUT\_ITEM' => '{ REPLACE }'
'TMPL\_LAYOUT\_ITEM' => '{ REPLACE }'
一個布局模板同時只能有一個特定替換字符串。
采用這種布局方式的情況下,一旦User/add.html 模板文件或者layout.html布局模板文件發生修改,都會導致模板重新編譯。
如果需要指定其他位置的布局模板,可以使用:
'LAYOUT\_NAME'=>'Layout/layoutname',
'LAYOUT\_NAME'=>'Layout/layoutname',
就表示采用
Application/Home/View/Layout/layoutname.html
Application/Home/View/Layout/layoutname.html
如果某些頁面不需要使用布局模板功能,可以在模板文件開頭加上
作為布局模板。
字符串。
{ NOLAYOUT }
{ NOLAYOUT }
如果上面的User/add.html 模板文件里面包含有進行布局模板解析。
{ NOLAYOUT }
{ NOLAYOUT }
,則即使當前開啟布局模板,也不會
- ThinkPHP模板
- 變量輸出
- 系統變量
- 系統變量輸出
- 常量輸出
- 配置輸出
- 語言變量
- 使用函數
- 默認值輸出
- 使用運算符
- 標簽庫
- 導入標簽庫
- 內置標簽
- 標簽庫預加載
- 模板繼承
- 修改定界符
- 普通標簽
- XML標簽
- 三元運算符
- 包含文件
- 使用模版表達式
- 使用模版文件
- 傳入參數
- 內置標簽
- Volist標簽
- Foreach標簽
- For標簽
- Switch標簽
- 比較標簽
- 范圍判斷標簽
- IN和NOTIN
- BETWEEN 和 NOTBETWEEN
- RANGE
- IF標簽
- Present標簽
- Empty標簽
- Defined標簽
- Assign標簽
- Define標簽
- 標簽嵌套
- import標簽
- 使用PHP代碼
- 使用php標簽
- 使用原生php代碼
- 原樣輸出
- 模板注釋
- 單行注釋
- 多行注釋
- 模板布局
- 第一種方式:全局配置方式
- 第二種方式:模板標簽方式
- 第三種方式:使用layout控制模板布局
- 模板替換
- 調用導航
- 調用欄目信息
- 根據欄目Id獲取欄目信息
- 首頁&封面調用信息列表
- 調用新聞列表
- 當前位置
- 當前位置
- 列表頁分頁
- 熱門信息
- 獲取熱門信息
- 上一篇&下一篇
- YNCMS函數
- YNCMS插件開發
- 開始開發