ユーザーがメールを確認した後、ユーザーに役割を割り当てたい。
どうすればよいですか?
Rules および LoginToboggan ( Drupal Answers のこの回答)を参照してください。 )。
ルールを使用すると、ユーザーに役割を追加するなどの「トリガー」を追加できます。LoginTobogganは、アカウントが検証されたときに「トリガー」を提供します。
hook_user_login(&$edit, $account)
から呼び出されるuser_login_finalize()
を使用できます。
$ editパラメータが空の場合は、user_pass_reset()
メニューコールバックから呼び出されるためです。
// user_login_finalize() also updates the login timestamp of the
// user, which invalidates further use of the one-time login link.
user_login_finalize();
この例は機能するはずです:
function MYMODULE_user_login(&$edit, $account) {
if (empty($edit)) {
// @todo Add role to $account->roles array
}
}