Drupal ile uzaktan Yeni Hesap Oluşturma

2 Cevap php

Ben şu anda (bu noktada, prototip bir iyi bir terimdir) Drupal kullanarak bir ücretli abonelik site inşa ediyorum. Drupal modüller aracılığıyla arama yaptıktan sonra - Ben kullanıcı, benim açılış sayfasını ziyaret abone oldukları istiyorum karar verdi bir kere beni yeni bir Drupal hesabı oluşturmak sağlayacak bir şey bulmak mümkün ve geçerli kredi kartı bilgi sunmamıştır. İdeal olarak, ben kendi kredi kartı bilgileri doğrulandıktan sonra, yeni oluşturulmuş hesabı ile abonelik sitesine yönlendirmek istiyorum.

Bu çözüm çok basit ve sadece kutunun dışında düşünme değilim oldukça mümkündür ... uzaktan Drupal ile bir kullanıcı hesabı oluşturmak için bir modül veya bir metodoloji ile tanıdık kimse var mı? OpenID bir olasılık olduğunu ama onların adı seçiminde kullanıcıya biraz daha fazla özgürlük vermek istiyorum.

2 Cevap

Neden bazı ekstra alanları ve doğrulama fonksiyonları ile Drupal kayıt formunu uzatmak değil?

Sen bir kanca, işlevi var, ya da kullanıcı bilgilerinizi girdikten sonra yeni bir kullanıcı hesabı oluşturulan bir işlev için bir XML-RPC arayüzü kurmak olabilir.

Örneğin, doldurmanız formunda, formun _submit sahip olabilir:

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);

}

Bu kullanıcı oluşturarak dikkat çekmek gerekir. Ben bunları otomatik giriş konusunda emin değilim, ama bir global $user; $user = $this_user; çalışabilir. Kullanıcı user_save fonksiyonu e-posta yoluyla yeni hesap haberdar edilmelidir, ancak bunları bir drupal_set_message ile de bildirmek isteyebilirsiniz.

http://api.drupal.org/api/function/user%5Fsave/6