あなたのbeforeFilterを追加または変更():
function beforeFilter(){
$fbUser = $this->Connect->user();
$Facebook = new FB();
if($fbUser){
$this->set('facebook_user', $fbUser);
$user = $this->Auth->user();
$this->set('user', $user);
if($this->Auth->user('id') && !$user['User']['has_details'] && !$user['User']['email']){
$this->loadModel('User');
$user['User']['username'] = $fbUser['username'];
$user['User']['first_name'] = $fbUser['first_name'];
$user['User']['last_name'] = $fbUser['last_name'];
$user['User']['link'] = $fbUser['link'];
$user['User']['gender'] = $fbUser['gender'];
$user['User']['email'] = $fbUser['email'];
$user['User']['has_details'] = true;
if($this->User->save($user, array('validate' => false))){
$this->Session->write('Auth.User.has_details', true);
}
}
}
}
出典
2012-03-15 12:44:11
Wil
それは今働いているようです。ありがとうございました! このコードは、クリックしたページごとにユーザーデータが毎回保存されることを意味します。 ログイン後にのみ情報を保存したいのですが、 –
ユーザーの詳細チェックブロックをユーザーログイン機能に移動させます – Wil
これが機能する場合は、回答にマークを付けることができますか? :) – Wil