2011-11-12 3 views
0
私は彼が登録フォームに レジスタボタンを打つと、彼はアクティベーションメールに関するシステムメッセージを取得する前に、そのために

Joomla 1.5.xで新しく登録したユーザーのユーザーIDを取得するには?

(useractivation設定がONの場合)、私が変更した際に新たに登録されたユーザーにいくつかの操作を実行したい

ファイルクラスJControllerregister_save方法において成分/ com_user/controller.php は、私は、元のPHPコード

if (!$user->save()) 
{ 
    JError::raiseWarning('', JText::_($user->getError())); 
    $this->register(); 
    return false; 
} 
を変更しました

if (!$user->save()) 
{ 
    JError::raiseWarning('', JText::_($user->getError())); 
    $this->register(); 
    return false; 
} 
include('custom_operations.php'); 

ファイル custom_operations.php でに

は、私は、ユーザー名と新しく登録されたユーザーの電子メールにアクセスするために$ユーザーに変数を使用していたが、次のコードは、私に0値を与える

$user->get('id'); 

新しく登録したユーザーのユーザーIDにはどうすればアクセスできますか? custom_operations.phpファイルを実行する他の方法はありますか(私はこのファイルに必須の登録フォームに余分なフィールドを入れました)? ご案内ください

答えて

2

ユーザーの種類でjoomlaプラグインを作成し、メソッドを上書きすることができます:onUserAfterSaveとonUserBeforeSaveメソッド。 :)ユーザーが正常に登録されている

+0

私はjoomlaの拡張開発について知っていません。上記のシナリオでJoomla Pluginを書く方法を教えてくれますか? – Vin

+0

このリンクにアクセスしようとするとhttp://docs.joomla.org/Pluginはjoomlaプラグインに関するより詳しい情報を提供します。 ;) –

+0

ありがとうございます。私はプラグインを作成し、onUserAfterSaveメソッドで、$ user ['id']は私に新しく登録されたユーザーのユーザーIDを与えました。 :) – Vin

1

場合は、以下試してみて、それは価値なりますかどうかを確認:custom_operations.phpファイル使用mysql_insert_id()内の他の

$user->id; 

を。最後のクエリで作成されたIDを返します。したがって、ユーザーが登録した直後に、生成されたIDを表に入れることができます。

+0

はJoomla!でうまくいきます! 3.0 –