4

ユーザーの作成後にテーブルにデータを挿入する必要があります。hook_form_alter()forを使おうと思うのです$form_id == "user_register"が、「ユーザーを作成したら、これを実行してください」と言う方法がわかりません。

どうすればそれを行うことができhook_form_alter()ますか?

4

1 に答える 1

17

このようなフォームにカスタム送信ハンドラーを追加できます。

function hook_form_user_register_alter(&$form, &$form_state) {
    // ...
    $form['#submit'][] = 'yourModule_user_register_submit';
}

function yourModule_user_register_submit($form, &$form_state) {
    // do what you want to do after registration
}

また、これを実現するためにDrupalのトリガーとアクションを使用することをお勧めします。AFAIKには、ユーザー登録後に起動するトリガーの1つにバグがありました。それが修正されたかどうかわからない。

于 2011-01-24T09:34:03.297 に答える