温馨提醒

亲爱的游客,你的浏览器太旧啦.都啥年代了.为了你的安全,为了你的体验,为更好的浏览本页, 赶紧更新一把吧.....本博客不支持ie8以下浏览器,如果你使用的是ie浏览器,请您更新到ie8或以上版本.

推荐使用谷歌浏览器(chrome)或火狐浏览器(Firefox),点击下方按键进行安装

码农部落

  ——好记性,不如烂博客!

yii教程(28)yii主题使用

【主题theme】
网站的样式会在特殊日子显示不同的样式(颜色、图片、文字大小),来迎合人们的心情。

网站美工在做设计的时候,也会准备多套模板供老板选择,这个地方我们可以通过主题实现。
网站的样式 我们需要在什么地方定义?
views视图是与网站样式紧密关联。

为了特殊需求我们可以准备多套视图模板,以供选择。
再者我们准备了多套视图模板,能否方便切换。

比如我们的网站也有多套模板(新年、儿童节、圣诞节)。
制作多套views视图。

yii28-1
配置实用主题:

yii28-2
自定义的三个主题:

yii28-3

主题总结:
并不是所有的网站都需要主体,比如门户网站、前台网站可以使用主题
访问量较低的网站也没有必要使用主题,后台也不会使用主题。
会根据需求快速切换网站样式
并不是所有页面都需要设置主题页面,其他没有设置主题的页面会使用原本的视图页面。
4. 美工还可以根据主题页面,多准备几套视图模板来适应领导的需求。
5. 在main.php里边做配置使用主题


yii教程(27)错误页面处理

【错误页面处理】
访问一个错误的控制器
访问一个错误的方法
有些控制器和方法禁止访问

以上访问会提示错误信息 404 403

yii27-1

以上错误信息是不方便给外边用户看到的。
安全隐患
用户体验不好
错误信息在site/error这个地方定义的。

现在我们要自定义错误页面来显示我们的错误信息

我们自己可以获得错误的详细信息:

yii27-2
错误处理
重新定义错误信息页面,可以从用户体验触发
我们可以根据错误信息来定位出错的地点
错误信息页面在路由site/error定义。


yii教程(26)url地址美化

【url地址美化】
给域名地址做一个别名
伪静态,通过设置服务器服务,做域名地址的转换工作。

urlManager地址美化,通过程序的方式实现地址美化工作。

http://web.0507shop.com/index.php?r=user/login

变成:

http://web.0507shop.com/index.php/user/login

以路径方式做路由的转换。
配置main.php:

yii26-1

http://web.0507shop.com/index.php/user/login

变成

http://web.0507shop.com/index.php/user/login.html

给地址添加后缀
配置urlManager组件:

yii26-2

 

 

 

yii26-3

 

我们设置urlManager

yii26-4

 

上边url地址管理规则设置好后路由就要按照规则写:

http://地址/index.php?r=goods/detail&id=20

以上地址不可以写了

http://地址/index.php/goods/detail/id/20

http://地址/index.php/控制器/方法/参数//参数//参数/

yii26-5

 

http://web.0507shop.com/index.php/goods/detail/id/20

美化:

http://web.0507shop.com/index.php/goods/20

配置urlManager组件:

yii26-6

yii26-7

我们通过url地址来模仿京东网址。

 

http://地址/index.php?r=goods/category&brand=4&price2&color=3&screen=5

 

美化:

 

http://地址/index.php/goods/4-2-3-5.html

 

 

 

 

yii26-8

 

http://地址/index.php/goods/4-2-3-5.html

美化

http://地址/goods/4-2-3-5.html

把默认索引文件index.php也去掉了

通过伪静态实现

yii26-10 yii26-9


yii教程(25)yii动态缓存

动态缓存】

Smarty 动态缓存  insert

我们可以缓存整个页面,但是只有一个小的区域,会根据不同的条件显示不同的信息,这个小的区域我们需要设置动态缓存。

yii25-1

 

$this -> beginCache()

中间有区域需要动态缓存

回调函数:就是控制器里边的普通方法

$this -> renderDynamic(回调函数);

$this -> benCache()

yii25-2

 

yii25-3

 

这个show_name()控制器要放入普通控制器父类里边Controller,这样代码可以重复利用。