cpass
- cpass 回复了话题 视图怎么访问控制器的方法
视图访问不了控制器方法吧,能访问Model,访问控制器方法要用js。
- cpass 回复了话题 modules如何登陆
我没区别,都在site登录,让管理员组进admin,其他跳转。
- cpass 回复了话题 大家都是怎么学习yii的啊,过来人给点建议
起步是看Yii Go视频,然后拼命google+自己摸索手册
- cpass 回复了话题 Yii熟悉时长调查!
一个多月,到处碰钉子,快头破血流了。
论坛活跃度好像不高,QQ群组之类大多数人在观望,有些伤感。
还需努力~ 楼主指的是数据库中的字段和CUserIdentity中的字段不一致。
只要修改protected/components/UserIdentity.php中的验证部分就可以了,像$user=UserModel::model()->find('LOWER(username)=?',array($username)); if($user===NULL){ $this->errorCode=self::ERROR_USERNAME_INVALID; }else if(...){ $this->errorCode=self::ERROR_PASSWORD_INVALID; }else{ //验证登录成功 $this->Id=$user->userid; }
第8行就是关键,这样你就可以使用
Yii::app()->user->id
获取你表中的userid了。
当然还可以自定义UserIdentity字段private $userid; public function getUserid(){ return $this->userid; }
在验证成功后给private $userid赋值,然后在程序中使用
Yii::app()->user->userid
获取你的用户ID。- cpass 回复了话题 CDetailView输出数组
在view里写了
$valueArr=array( 'S'=>'Student', 'C'=>'Corporate officer', 'O'=>'Others', ); function extradata($arr,$valueArr){ $ret=''; foreach($arr as $v){ if($ret){$ret .=',';} $ret .=isset($valueArr[$v])?$valueArr[$v]:'NUL'; } return $ret; }
CDetailView改为
array( 'name'=>'groups', 'value'=>extradata(unserialize($model->groups),$valueArr), ),
这样可以输出
Student,Corporate officer,Others
这样虽然怪怪的,但是毕竟算是解决了在view里的显示,回到列表页面,使用了CGridView,自定义函数在这里没用,整个数据在CGridView内部循环处理,现在只能在列表页隐藏这个字段。
唉,学艺不精~ - cpass 回复了话题 CDetailView输出数组
期待指点~望眼欲穿了。:'(
这是获取当前登录用户的ID值。
Yii::app()->user->id
实际上是访问Yii::app()->user->getId()
,所以你的列名是userid那就重写getId函数,返回userid就可以了。- cpass 发布了话题CDetailView输出数组