我正在使用Drupal构建付费订阅网站。在搜索Drupal模块之后,我无法找到任何允许我在用户访问我的登录页面后创建一个新的Drupal帐户,决定他们想要订阅并提供他们有效的信用卡信息。我想在信用卡信息经过验证后,使用新创建的帐户将其重定向到订阅网站。
是否有人熟悉使用Drupal远程创建用户帐户的模块或方法? OpenID是一种可能性,但我想让用户更自由地选择他们的用户名。
答案 0 :(得分:1)
为什么不通过一些额外的字段和验证功能扩展Drupal的注册表单?
答案 1 :(得分:1)
您可以为用户输入详细信息后创建新用户帐户的函数创建一个钩子,函数或构建xml-rpc接口。
例如,在他们填写的表单上,您可以在表单的_submit中:
formname_sumbit($form, &$form_state) {
// Do form stuff here
// Now do user_save stuff
$password = user_password();
$mail = $form_state['values']['email_address'];
// Use blank account object as we are creating a new account
$account = array();
$properties = array('name' => 'someusername', 'pass' => $password, 'mail' => $mail, $roles => array('authenticated user', 'some other role'));
$this_user = user_save($account, $properties);
}
这应该照顾创建用户。我不确定如何自动登录,但 global $user; $user = $this_user;
可能有用。我们应该通过user_save
函数通过电子邮件通知用户他们的新帐户,但您也可以通过drupal_set_message
告知他们。