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

登録フォームの Register ボタンを押したときと、アクティベーションメールに関するシステムメッセージを受け取る前に(useractivation設定がONの場合)、新しく登録したユーザーに対して操作を実行したい

そのために、私はファイル components/com_user/controller.php を変更しました JController クラスの register_save メソッドで、元の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');

In custom_operations.php file, i have used $user variable to access username and email of newly registered user but following code gives me 0 value

$user->get('id');

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

0

2 答え

ユーザーのタイプでjoomlaプラグインを作成し、メソッドをオーバーライドすることができます:onUserAfterSaveメソッドとonUserBeforeSaveメソッド。 :)

2
追加された
私はjoomlaの拡張開発についてはあまり知らない。上記のシナリオでJoomla Pluginを書く方法を教えてくれますか?
追加された 著者 Vin,
ありがとうございました。私はプラグインを作成し、onUserAfterSaveメソッドで、$ user ['id']は私に新しく登録されたユーザーのユーザーIDを与えました。 :)
追加された 著者 Vin,
このリンクを訪問してください docs.joomla.org/Plugin それはあなたにjoomlaについてのより詳細な情報を提供しますプラグイン。 ;)
追加された 著者 Christopher Pelayo,
どういたしまして。 ;)
追加された 著者 Christopher Pelayo,

ユーザーが正常に登録された場合は、以下のように試して、値が与えられているかどうかを確認してください。

$user->id;

それ以外の場合、custom_operations.phpファイルで mysql_insert_id() をクリックします。最後のクエリで作成されたIDを返します。したがって、ユーザーが登録した直後に、生成されたIDを表に入れることができます。

1
追加された
Joomla!でうまくいきます! 3.0
追加された 著者 9KSoft,
PHP - 日本のコミュニティ [ja]
PHP - 日本のコミュニティ [ja]
4 参加者の

このグループではPHPについて話します。 パートナー:kotaeta.com