最近做东西,需要用CTreeView.先不说为什么要用这个.我就先说怎么用,我刚开始知道要用这个时,不会用.很多疑问.不说废话了,直接正题.
<?php $this->widget('system.web.widgets.CTreeView',array(
'data'=>array(
array(
'text'=>'<span>个人基本信息</span>',
'expanded'=>false,//默认此目录是否展开,false不展开
'children'=>array(
array('text'=>'首页',),
),
),
array(
'text'=>'<span>修改密码</span>',
'expanded'=>false,
'children'=>array(
array('text'=>'<a href="'.$this->createUrl('member/modifypwd').'">修改登录密码</a>',),
array('text'=>'<a href="'.$this->createUrl('/admin/postCategory/add').'">修改支付密码</a>',),
),
),
array(
'text'=>'<span>帐户中心</span>',
'expanded'=>false,
'children'=>array(
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">充值记录</a>',),
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">消费记录</a>',),
),
),
array(
'text'=>'<span>订单中心</span>',
'expanded'=>false,
'children'=>array(
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">未付款的订单</a>',),
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">已付款的订单</a>',),
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">已完成的订单</a>',),
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">已退款的订单</a>',),
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">评价管理</a>',),
),
),
array(
'text'=>'<span>我的积分</span>',
'expanded'=>false,
'children'=>array(
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">获得积分记录</a>',),
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">消费积分记录</a>',),
),
),
array(
'text'=>'<span>VIP积分中心</span>',
'expanded'=>false,
'children'=>array(
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">如何成为VIP</a>',),
array('text'=>'<a href="'.$this->createUrl('/xxxx/').'">当前VIP等级</a>',),
),
),
),
'htmlOptions'=>array('class'=>'left') //为CTreeView 添加样式
'persist'=>'location'//这个比较重点.将树的状态持久化到cookies中或页面位置中。如果设置为“location”,寻找 匹配“location.,下面说下这个,
));
此处CTreeView实现的功能是什么样子呢,就是YIIChina官网手册那样.
现在,说下思路.如果你有好几个页面,关于这个左侧目录结构的,那你就想怎么点击左侧目录,右侧变成相应的页面,我不知道你会用什么方法,我现在说下用这插件的方法.
如果有5个这样的页面.那肯定都是类似上面这个图那样.
我们就这么做,左侧目录都用YIICTreeView插件.那如果我点"修改密码"下的修改登录密码,在跳转到修改密码的页面后,左侧的目录结构状态怎么才能保存着呢?那就用到
'persist'=>'location'//这个比较重点.将树的状态持久化到cookies中或页面位置中。如果设置为“location”,寻找 匹配“location.,下面说下这个,
注意:这个属性每个页面的CTreeView都要写的.