Ö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.