传智播客旗下技术交流社区北京校区

 找回密码
 加入黑马

QQ登录

只需一步,快速开始

本帖最后由 我是楠楠 于 2017-12-13 14:47 编辑

【郑州校区】ThinkPHP框架笔记详解(上)

五.view视图模板
下图显示每个控制器都会调用自己的模板文件以便输出、渲染网页效果。

26.png
1. 调用模板
控制器的方法中调用如下方法:
$this -> display();                   //模板名称与当前操作方法的名称一致
$this -> display(模板名称);                  //调用当前控制器对应目录指定名称的模板
$this -> display(控制器/模板名称);  //调用其他控制器下的具体模板文件
                                                                        //或 display(控制器:模板名称);
$this -> display(相对路径模板文件); //调用自定义模板文件,该模板不在传统的View目录里边,该模板相对index.php入口文件进行定位
通过错误提示,就知道如何创建对应的视图模板文件:
27.png

在View里边创建控制器标识子级目录
在具体的控制器标识目录里边创建模板文件,后缀已经配置好,是.html
28.png
控制器渲染视图模板文件的display方法一共有4种使用形式:
29.png
其中最后一种渲染的模板是相对index.php入口文件进行定位的
30.png
调用自己控制器标识下的模板文件效果:
31.png
32.png
33.png
2. 已有模板与tp框架做结合
具体实现步骤:
A. 复制模板文件(内容)到View指定目录
B. 复制css、img、js静态资源文件到系统指定目录
C. 在模板文件中通过“模板常量”引入静态资源(css、img、js)文件
后续A、C重复实现即可
实现A步骤:
34.png
实现B步骤:
在Public里边创建子级目录Home,并粘贴静态文件:
35.png
实现C步骤:
在模板中通过__PUBLIC__定位我们需要的静态资源文件:
36.png
上图的__PUBLIC__是一个“模板常量”,其在模板文件中会被自动替换为具体的访问路径信息,为http://网址/Public
在thinkphp框架的Behavior行为里边实现的替换:
37.png
在全部的模板中,通过__PUBLIC__访问静态资源文件:
38.png
39.png
已有模板与tp框架整合的效果:
40.png
3. 其他页面整合
实现A步骤:,复制模板文件:
41.png
实现C步骤,通过__PUBLIC__模板常量访问静态文件(css/img/js):
42.png
访问效果之一:
43.png
通过ABC步骤,把商品的列表展示详情展示会员登录注册首页 等5个模板与tp框架整合好
六. 后台页面搭建1. 分组设置
项目里边有前台Home后台Admin两个分组
前台、后台本质上看都是“controller控制器”、“view视图”和“model模型” 的组合,为了开发、维护方便要把它们存储到不同的分组里边,这个分组成为平台分组。
平台分组:
        同一个项目里边,由于业务规则的划分,有多个相关的功能模块,它们都有独立的控制器、view视图、model模型、配置文件、函数库文件等文件,为了开发维护方便,就给它们创建独立的平台分组出来
        如果还有其他的业务功能模块,也都是独立的,可以继续创建分组。
后台Admin分组与前台Home分组都是平等的,内部的文件结构完全一致
44.png
Admin内部把暂时不需要的控制器和view视图给删除掉,保留现在的样子:
45.png
对分组进行访问:
http://网址/index.php/Admin/控制器/操作方法      //对admin分组进行访问
http://网址/index.php/Home/控制器/操作方法      //对home分组进行访问
2. 后台登录页面搭建
已有模板与tp框架结合的具体实现步骤:
A. 复制模板文件(内容)到View指定目录
B. 复制css、img、js静态资源文件到系统指定目录(Public)
C. 在模板文件中通过“模板常量__PUBLIC__”引入静态资源(css、img、js)文件
后续搭建其他页面重复A、C两个步骤即可
① 创建ManagerController控制器
46.png
② 实现A步骤,复制模板文件
47.png
③ 实现B步骤,复制静态资源文件到Public目录
48.png
④ 实现C步骤,通过__PUBLIC__模板常量访问静态文件
49.png
管理员登录效果:
50.png
3. 后台“品字”首页面搭建
① 创建控制器和操作方法
51.png
② 实现A步骤,复制模板文件
52.png
③ 实现C步骤,在各个模板中通过__PUBLIC__访问静态文件
53.png
54.png
④ 后台“品”字页访问效果
55.png
3.1 frame的src属性值
56.png
1) 独立路由请求
上图每个frame会触发一个独立的路由请求(并不是直接请求模板文件),请求地址具体如下:
http://网址/index.php/Admin/Index/left.html
http://网址/index.php/Admin/Index/right.html
57.png
2) 伪装后缀
上图frame的src属性值中有.html后缀体现,其为伪装后缀,是否设置都不影响请求
58.png
3) 完整路由地址
在frame的src属性值中,最好通过“完整路由地址”进行请求设置,否则会受到路由地址的影响,而发生错误请求
tp框架提供了一个函数可以帮组生成一个“完整请求路由地址”
U([分组/控制器/]操作方法)
例如:
U(showlist)---------------------------->        http://网址/index.php/当前分组/当前控制器/showlist
U(Goods/showlist)------------------->        http://网址/index.php/当前分组/Goods/showlist
U(Home/Goods/showlist)----------->        http://网址/index.php/Home/Goods/showlist
通过U()函数制作不同情况的请求地址:
59.png
tp框架的模板引擎也可以使用php函数,形式为
{:函数名称(参数,参数)}
如下图,在模板中通过U()函数给frame的src制作完整请求路由地址:
60.png
通过U()函数制作好的请求地址如下图:
61.png
现在我们的后台品页的请求,不会再受到请求地址的相关参数影响了(不设置控制器和操作方法,也不影响各个分支frame的请求):
62.png
4. 后台商品相关页面搭建
① 创建控制器及操作方法
63.png
②实现A步骤,复制模板文件
64.png
③ 实现C步骤,全部商品模板要通过__PUBLIC__实现静态文件引入
65.png
④ 实现商品页面与后台“品”字页整合
点击左侧“数据列表”按钮,右侧frame窗口显示内容:
66.png
超链接a标签的target属性值,是设置超链接页面在什么地方打开的
<a  target=”_top/_blank/_self/frame的name属性值”>
_top: 在全部的frameset页面打开超链接
_blank: 在一个新页面打开超链接
_self: 在本身页面打开超链接
frame的name属性值:在指定的frame标签里边打开超链接
(如果不设置target属性,就在本身页面打开超链接,与_self效果一样)
在商品列表页,点击“添加”按钮,显示添加商品的表单页出来:
67.png
添加页面里边,制作“返回按钮”:
68.png
在商品列表页,点击“修改”按钮,显示添加商品的表单页出来:
69.png
修改页面里边,制作“返回按钮”:
70.png
各个页面呈现的效果体现:
71.png
72.png
73.png



【郑州校区】三大框架笔记之Struts2-day03
传智播客·黑马程序员郑州校区地址
河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层
联系电话 0371-56061160/61/62
来校路线  地铁一号线梧桐街站A口出


分享至 : QQ空间
收藏

2 个回复

倒序浏览
干活干货干货
回复 使用道具 举报
回复 使用道具 举报
您需要登录后才可以回帖 登录 | 加入黑马
关闭

站长推荐 上一条 /4 下一条