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、其他页面

重复步骤①②③⑤

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