Làm cách nào để lập trình người dùng mới với các trường tùy chỉnh?


18

Tôi muốn tạo người dùng với một số trường tùy chỉnh. Tôi đã tạo thêm các trường thông qua cấu hình> người> thông tin trang web> quản lý các trường và các trường như tên, họ, thành phố, v.v. Tôi muốn tạo người dùng với các trường tùy chỉnh này.

Làm thế nào tôi có thể tạo người dùng theo chương trình?

Câu trả lời:


25

Sử dụng user_savechức năng Drupal bạn có thể tạo người dùng mới như vậy:

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

Tôi không chắc chắn điều gì access, tôi đã sao chép điều này từ các bình luận của trang user_save về việc làm và sửa đổi chúng, vì vậy tôi không 100% về những gì access. Tôi sẽ cho rằng đó là ngày truy cập cuối cùng, vì vậy nếu đó là người dùng mới, tôi đoán nó không nên được đặt.
Beebee

cảm ơn nó làm việc tốt cho tôi và xin lỗi vì phát lại muộn.
Pranav Gandhi

@GandhiPranav Đừng quên chấp nhận câu trả lời cho câu hỏi của bạn nếu họ đã giúp bạn; điều này cho phép khách truy cập trong tương lai biết rằng một giải pháp cụ thể là giải pháp đã giải quyết vấn đề cụ thể của bạn và nó thưởng cho người trả lời cho những nỗ lực của họ. Bạn có thể chấp nhận câu trả lời bằng cách nhấp vào dấu chọn bên dưới chỉ báo bình chọn. Cảm ơn :)
Clive

Truy cập chỉ là trường truy cập cuối cùng (như trường "đã tạo"
ergophobe

Điều này hoạt động để tạo người dùng mới, nhưng không có cách thực thể "ưa thích" như với các nút? Một cái gì đó liên quan đến entity_create_stub_entity ('user') hoặc entity_metadata_wrapper (..)? Tôi hỏi bởi vì tôi đã vật lộn để làm điều đó theo cách thực thể .. :)
texas-bronius
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.