PHP-ThinkPHP將後臺模板與框架做結合

九、將後臺模板與框架做結合

模板整合思路:

①確定頁面的訪問路徑(模塊、控制器、方法)

②新建對應的控制器方法,在方法中調用模板

③將模板頁面移動到對應的視圖目錄下(創建子目錄)

④將靜態資源文件移動到public/static/admin目錄下

⑤修改模板文件中靜態資源路徑

頁面分佈:

登錄頁 Login控制器login方法 login.html

首頁 Index控制器index方法 index.html

商品列表 Goods控制器index方法 goods_list.html -> index.html

商品新增 Goods控制器create方法 goods_add.html -> create.html

商品修改 Goods控制器edit方法 goods_edit.html -> edit.html

管理員列表 Manager控制器index方法 manager_list.html -> index.html

管理員新增 Manager控制器create方法 manager_add.html -> create.html

管理員修改 Manager控制器edit方法 manager_edit.html ->edit.html

1、模板佈局

(見手冊–模板–模板佈局)

使用模板佈局,就是把多個模板頁面都有的公共代碼給抽取出來,放到一個公共位置開發維護

好處:相同的代碼只維護一份,減少代碼工作量

後臺全局佈局設置步驟:

①修改配置文件application/admin/config.php,加入以下設置

'template'  =>  [
    'layout_on'     =>  true,//開啓佈局
    'layout_name'   =>  'layout',//佈局文件名稱
]

在這裏插入圖片描述

②將靜態資源文件移動到/public/static/admin目錄下

在這裏插入圖片描述

③在application/admin/view目錄下,新建layout.html

將後臺頁面公共的頭部、底部代碼提取到layout.html中,在中間位置放一個特殊字符串“{_CONTENT_}”,表示此位置,替換爲原始要訪問的頁面內容。

layout.html文件中, 只保留所有頁面公共 的css和js相關代碼,修改靜態資源路徑

注: 一定不能 直接將所有css和js都放在layout.html中。

注:TP框架中,模板中的靜態資源路徑,不能使用相對路徑./ ,必須使用以/開頭的路徑。

在這裏插入圖片描述

④臨時關閉模板佈局

全局佈局設置,對所有頁面全部生效。

特殊頁面(不需要使用佈局的頁面),可以在控制器方法中,臨時關閉模板佈局。

$this->view->engine->layout(false);

比如登錄頁面,不需要使用佈局,見 “3、後臺登錄頁”

2、後臺首頁

①確定頁面的訪問路徑(模塊、控制器、方法)

admin模塊Index控制器index方法

②新建對應的控制器方法,在方法中調用模板

<?php
namespace app\admin\controller;

use think\Controller;

class Index extends Controller
{
	public function index()
	{
		return view();
	}
}

③將模板頁面移動到對應的視圖目錄下

index.html => application/admin/view/index/index.html

④修改模板文件

保留頁面獨有的靜態資源文件,以及主體部分代碼

修改模板文件中靜態資源路徑

在這裏插入圖片描述

注:如果頁面顯示效果不對,可以考慮先刪除緩存 runtime目錄

3、後臺登錄頁

①確定頁面的訪問路徑(模塊、控制器、方法)

admin模塊 login控制器 login方法

②新建對應的控制器方法,在方法中調用模板

注:後臺的登錄頁面,不需要使用佈局

在這裏插入圖片描述

③將模板頁面移動到對應的視圖目錄下

將login.html 移動到 application/admin/view/login/目錄下

在這裏插入圖片描述

⑤修改模板文件中靜態資源路徑

修改application/admin/view/login/login.html

注:也可以使用_STATIC_ 代替靜態資源路徑中的/static(手冊–視圖–輸出替換)

在這裏插入圖片描述

4、其他頁面

重複步驟①②③⑤

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章