2009-09-16 158 views
1

我正在使用Drupal構建付費訂閱站點。在搜索完Drupal模塊之後,我一直無法找到任何能夠讓我在用戶訪問我的着陸頁後創建一個新的Drupal帳戶的東西,他們決定訂閱並提供他們有效的信用卡信息。我想在他們的信用卡信息通過驗證後將他們重定向到訂閱網站並創建一個新帳戶。使用Drupal遠程創建新帳戶

是否有人熟悉用Drupal遠程創建用戶帳戶的模塊或方法? OpenID是一種可能性,但我想給用戶更多選擇用戶名的自由。

回答

1

爲什麼不用Drupal的註冊表單來擴展一些額外的字段和驗證函數?

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告知他們。

http://api.drupal.org/api/function/user_save/6