Özel alanlarla programlı olarak yeni kullanıcı nasıl oluşturulur?


18

Bazı özel alanlarla kullanıcı oluşturmak istiyorum. Yapılandırma> kişiler> site bilgileri> ad, soyadı, şehir vb. Alanları ve alanları yöneterek fazladan alanlar oluşturdum. Bu özel alanlarla kullanıcı oluşturmak istiyorum.

Kullanıcıyı programlı olarak nasıl oluşturabilirim?

Yanıtlar:


25

user_saveDrupal işlevini kullanarak şu şekilde yeni kullanıcılar oluşturabilirsiniz:

$new_user = array(
  'name' => 'JohnDoe',
  'mail' => 'john.doe@email.com',
  'pass' => 'password123',
  'status' => 1,
  'field_custom_first_name' => array(LANGUAGE_NONE => array(array('value' => 'John'))), // This becomes $account->field_custom_first_name[LANGUAGE_NONE][0]['value']
  'field_custom_last_name' => array(LANGUAGE_NONE => array(array('value' => 'Doe'))),
  'access' => REQUEST_TIME,
  'roles' => array(), // No other roles than Authenticated
  //'roles' => array('10' => '10', '11' => '11'), // If you want to specify additional roles, the numbers are role_id's
);
user_save(NULL, $new_user);

Ne yaptığından emin değilim access, bunu user_save sayfasının yorumlarından kopyaladım ve değiştirdim, bu yüzden ne yaptığına% 100 değilim access. Son erişim tarihi olduğunu varsayacağım, bu yüzden yeni bir kullanıcıysa, ayarlanmaması gerektiğini tahmin ediyorum.
Beebee

benim için iyi çalışıyor teşekkürler. ve geç tekrar oynadığım için üzgünüm.
Pranav Gandhi

@GandhiPranav Size yardımcı oldularsa sorularınızın cevaplarını kabul etmeyi unutmayın; Bu, gelecekteki ziyaretçilerin belirli bir çözümün kendi sorununuzu çözen çözüm olduğunu bilmelerini sağlar ve yanıtlayanı çabaları için ödüllendirir. Oy göstergesinin altındaki onay işaretini tıklayarak bir yanıtı kabul edebilirsiniz. Teşekkürler :)
Clive

Erişim yalnızca son erişim alanıdır ("oluşturulan" alan gibi)
ergophobe

Bu yeni kullanıcılar oluşturmak için çalışır, ancak düğümlerde olduğu gibi "tercih edilen" bir varlık yolu yok mu? Entity_create_stub_entity ('kullanıcı') veya entity_metadata_wrapper (..) ile ilgili bir şey mi var? Soruyorum çünkü varlık yolunu yaparken mücadele ediyorum .. :)
texas-bronius
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.