2009-09-16 2 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