面包屑制作(当前位置:网站首页 >> 会员登陆)
作用:就是在布局里要显示的信息,但这个信息在不同的页面里显示的内容不一样,例如:网页的title、网页的当前位置等等
1、布局中每个页面title的设置
(1)在对应视图文件中的尽可能在顶部定义一个变量
$this->pageTitle = "当前页面标题";
(2)在布局文件中的<title></title>中添加如下代码
<?php echo CHtml::encode($this->pageTitle); ?>
或
<?php echo $this->pageTitle; ?>也可以,只不过没有经过指定的编码(不同的网站不同的编码,这种作法有可能会出现乱码)
(3)注意:pageTitle变量名固定的
2、布局中设置当前位置
(1)在对应的视图文件中的尽可能在顶部定义一个变量
$this->breadcrumbs = array(
"会员登陆"=>array("控制器名/方法名","参数名"=>"值","参数名"=>"值"),
"添加记录"=>__APP__."/index.php/add/index.html",//与上边会员登陆功能一样,建议用上面的作法
"用户信息"
);
显示效果:Home >> 会员登陆 >> 添加记录 >> 用户信息
说明:Home超链接是系统自动生成的,会员登陆、添加记录超链接是自己加上的。用户信息没有超链接,也是自己加上的
(2)在布局文件的指定位置添加如下代码
<?php if(isset($this->breadcrumbs)){?>
<?php $this->widget('zii.widgets.CBreadcrumbs', array(
"homeLink"=>"<a href='".__APP__."/index.php'>首页</a>",//可有可无,如没有将显示"Home"超链接
'links'=>$this->breadcrumbs,//显示当前页面中的所有位置
"separator"=>" » "//设置当前位置中每个位置的分割符
)); ?>
<?php }?>
注意:其实这个if判断也可有可无,效果完全一样