cpass

cpass

Noned

  • 财富值240
  • 威望值0
  • 总积分240

个人信息

  • 视图访问不了控制器方法吧,能访问Model,访问控制器方法要用js。

  • 回复了话题 modules如何登陆

    我没区别,都在site登录,让管理员组进admin,其他跳转。

  • 回复了话题 数据库备份

    我一般用cron。。。

  • 起步是看Yii Go视频,然后拼命google+自己摸索手册

  • 一个多月,到处碰钉子,快头破血流了。
    论坛活跃度好像不高,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。

  • 在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内部循环处理,现在只能在列表页隐藏这个字段。
    唉,学艺不精~

  • 期待指点~望眼欲穿了。:'(

  • 这是获取当前登录用户的ID值。
    Yii::app()->user->id 实际上是访问 Yii::app()->user->getId(),所以你的列名是userid那就重写getId函数,返回userid就可以了。

  • 发布了话题
    CDetailView输出数组
见习主管 等级规则
240/500
资料完整度
40/100
用户活跃度
0/100

Ta的关注

0

Ta的粉丝

0

Ta的访客

0