2012-03-13 7 views
0

私はケーキとプラグイン(webtechnickのfacebookプラグイン)にとても新しいです。cakephp v2.0とwebtechnich facebook pluginでユーザーデータを保存する方法は?

ユーザーデータ(facebook_id、トークンなど)を保存するには、どのような方法が(簡単、効果的)

"$ facebook_user"という配列変数を使用してafterFacebookLoginをパラメータとして使用しようとしましたが、なぜコールバックメソッドがまったく機能しないのかわかりません。

だから、いくつかの種類のパン製造者は私に方法を教えてもらえますか?

乾杯!あなたのAppControllerで

答えて

2

あなたの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); 
       } 
      } 
     } 
} 
+0

それは今働いているようです。ありがとうございました! このコードは、クリックしたページごとにユーザーデータが毎回保存されることを意味します。 ログイン後にのみ情報を保存したいのですが、 –

+0

ユーザーの詳細チェックブロックをユーザーログイン機能に移動させます – Wil

+0

これが機能する場合は、回答にマークを付けることができますか? :) – Wil

関連する問題