1) 访问结果
向视图渲染数据
可以使用类属性或$this->setRenderData向视图传递数据。
在控制器中传递数据
在模板(视图)中输出数据
视图1. 视图目录
iWebShop的视图存放在根目录下的views目录下,views下的每个目录为一个主题。
Iwebshop系统有三个模块,前台模块、商家模块、后台模块,那我们这个视图和模块是对应的,default、huawei对应前台模块,sysseller对应商家模块,sysdefault对应后台模块。
1) default
系统前台页面的默认主题
2) huawei
前台主题
3) sysdefault
系统后台的默认主题
4) sysseller
商家后台主题
主题目录结构
下面以default主题为例,说明主题目录结构
1) Javascript
主题使用的js文件
2) layouts
主题使用的布局文件
3) skin
主题使用的皮肤文件(css、图片文件)
4) simple、site、ucenter
simple、site、ucenter与控制器名称相同,每个控制器对应一个目录,目录下的每个文件对应控制器中的方法。
5) config.php
主题配置文件
6) preview.jpg
主题预览图,在后台选择主题时可见
视图布局(layout)
对于多数网站来说,多个页面都会有相同的顶端头部(网站logo、网站名称、导航菜单、搜索、注册、登录等)、底端页脚(友情链接、网站地图、版权声明等),都会引用一些公共的css、js文件,所有这些公共的部分都可以抽出来,做成一个layout模板(html文件)。
Layout存在于每个主题模板的layouts目录中,可以为不同的控制器、方法指定不同的布局。
布局文件Site.html文件代码
下面是网站首页和商品详情页,使用公共的头部内容(在site.html文件中定义 ):
· 网站首页
· 商品详情页
下面是注册页和登录页,使用公共的头部内容:
· 注册页面
· 登录页面
Layout设置
注意,应用布局后,刷新页面可能未出现预期效果,这种情况可能是因为存在缓存文件,可以将runtime文件夹中的文件删除后再刷新页面,查看效果。
可以使用以下3种方法设置layout。
1) 在控制器下增加public $layout公共属性,表示这个控制器下的所有视图均使用这个布局。
不使用布局前后对比
· 使用布局
· 不使用布局
2) 在主题目录的config.php文件中配置layout布局
为某个特定视图指定特定的layout布局,如:为site目录下的notice视图指定site_mini布局。
3) 在控制器的方法里设置layout布局
视图开发实例
1) 在controller目录中创建test.php控制器文件
2) 在根目录下的views/huawei目录中创建test文件夹(与Test控制器对应)
3) 在views/huawei/test目录中创建index.html
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.