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