本帖最后由 我是楠楠 于 2017-12-13 14:47 编辑
【郑州校区】ThinkPHP框架笔记详解(上)
五.view视图模板
下图显示每个控制器都会调用自己的模板文件以便输出、渲染网页效果。
1. 调用模板在控制器的方法中调用如下方法: $this -> display(); //模板名称与当前操作方法的名称一致 $this -> display(模板名称); //调用当前控制器对应目录指定名称的模板 $this -> display(控制器/模板名称); //调用其他控制器下的具体模板文件 //或 display(控制器:模板名称); $this -> display(相对路径模板文件); //调用自定义模板文件,该模板不在传统的View目录里边,该模板相对index.php入口文件进行定位 通过错误提示,就知道如何创建对应的视图模板文件:
在View里边创建控制器标识子级目录
在具体的控制器标识目录里边创建模板文件,后缀已经配置好,是.html 控制器渲染视图模板文件的display方法一共有4种使用形式: 其中最后一种渲染的模板是相对index.php入口文件进行定位的 调用自己控制器标识下的模板文件效果: 2. 已有模板与tp框架做结合具体实现步骤: A. 复制模板文件(内容)到View指定目录 B. 复制css、img、js静态资源文件到系统指定目录 C. 在模板文件中通过“模板常量”引入静态资源(css、img、js)文件 后续A、C重复实现即可 实现A步骤: 实现B步骤: 在Public里边创建子级目录Home,并粘贴静态文件: 实现C步骤: 在模板中通过__PUBLIC__定位我们需要的静态资源文件: 上图的__PUBLIC__是一个“模板常量”,其在模板文件中会被自动替换为具体的访问路径信息,为http://网址/Public 在thinkphp框架的Behavior行为里边实现的替换: 在全部的模板中,通过__PUBLIC__访问静态资源文件: 已有模板与tp框架整合的效果: 3. 其他页面整合实现A步骤:,复制模板文件: 实现C步骤,通过__PUBLIC__模板常量访问静态文件(css/img/js): 访问效果之一: 通过ABC步骤,把商品的列表展示、详情展示、会员登录、注册、首页 等5个模板与tp框架整合好 六. 后台页面搭建1. 分组设置项目里边有前台Home、后台Admin两个分组 前台、后台本质上看都是“controller控制器”、“view视图”和“model模型” 的组合,为了开发、维护方便要把它们存储到不同的分组里边,这个分组成为平台分组。 平台分组: 同一个项目里边,由于业务规则的划分,有多个相关的功能模块,它们都有独立的控制器、view视图、model模型、配置文件、函数库文件等文件,为了开发维护方便,就给它们创建独立的平台分组出来 如果还有其他的业务功能模块,也都是独立的,可以继续创建分组。 后台Admin分组与前台Home分组都是平等的,内部的文件结构完全一致 Admin内部把暂时不需要的控制器和view视图给删除掉,保留现在的样子: 对分组进行访问: 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控制器 ② 实现A步骤,复制模板文件 ③ 实现B步骤,复制静态资源文件到Public目录 ④ 实现C步骤,通过__PUBLIC__模板常量访问静态文件 管理员登录效果: 3. 后台“品字”首页面搭建① 创建控制器和操作方法 ② 实现A步骤,复制模板文件 ③ 实现C步骤,在各个模板中通过__PUBLIC__访问静态文件 ④ 后台“品”字页访问效果 3.1 frame的src属性值1) 独立路由请求 上图每个frame会触发一个独立的路由请求(并不是直接请求模板文件),请求地址具体如下: http://网址/index.php/Admin/Index/left.html http://网址/index.php/Admin/Index/right.html 2) 伪装后缀 上图frame的src属性值中有.html后缀体现,其为伪装后缀,是否设置都不影响请求 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()函数制作不同情况的请求地址: tp框架的模板引擎也可以使用php函数,形式为
{:函数名称(参数,参数)} 如下图,在模板中通过U()函数给frame的src制作完整请求路由地址: 通过U()函数制作好的请求地址如下图: 现在我们的后台品页的请求,不会再受到请求地址的相关参数影响了(不设置控制器和操作方法,也不影响各个分支frame的请求): 4. 后台商品相关页面搭建 ① 创建控制器及操作方法 ②实现A步骤,复制模板文件 ③ 实现C步骤,全部商品模板要通过__PUBLIC__实现静态文件引入 ④ 实现商品页面与后台“品”字页整合 点击左侧“数据列表”按钮,右侧frame窗口显示内容: 超链接a标签的target属性值,是设置超链接页面在什么地方打开的 <a target=”_top/_blank/_self/frame的name属性值”> _top: 在全部的frameset页面打开超链接 _blank: 在一个新页面打开超链接 _self: 在本身页面打开超链接 frame的name属性值:在指定的frame标签里边打开超链接 (如果不设置target属性,就在本身页面打开超链接,与_self效果一样) 在商品列表页,点击“添加”按钮,显示添加商品的表单页出来: 在添加页面里边,制作“返回按钮”: 在商品列表页,点击“修改”按钮,显示添加商品的表单页出来: 在修改页面里边,制作“返回按钮”: 各个页面呈现的效果体现:
【郑州校区】三大框架笔记之Struts2-day03传智播客·黑马程序员郑州校区地址 河南省郑州市 高新区长椿路11号大学科技园(西区)东门8号楼三层 联系电话 0371-56061160/61/62 来校路线 地铁一号线梧桐街站A口出
|