Як програмно створити нового користувача за допомогою спеціальних полів?


18

Я хочу створити користувача з деякими спеціальними полями. Я створив додаткові поля через config> люди> інформація про сайт> керуйте полями та полями, такими як ім'я, прізвище, місто тощо. Я хочу створити користувача за допомогою цих спеціальних полів.

Як я можу створити користувача програмно?

Відповіді:


25

Використовуючи user_saveфункцію Drupal, ви можете створювати нових користувачів на зразок:

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

Я не впевнений, що accessце робить, я скопіював це з коментарів сторінки user_save щодо do та змінив їх, тому я не на 100% у тому, що accessробить. Я припускаю, що це дата останнього доступу, тому якщо це новий користувач, я думаю, його не слід встановлювати.
Бджола

дякую, що працює добре для мене. і вибачте за пізнє повторення.
Пранів Ганді

@GandhiPranav Не забудьте прийняти відповіді на ваші запитання, якщо вони допомогли вам; це дає майбутнім відвідувачам знати, що саме конкретне рішення було рішенням вашої конкретної проблеми, і воно винагороджує відповідача за їх зусилля. Ви можете прийняти відповідь, натиснувши галочку під індикатором голосування. Дякую :)
Клайв

Доступ - це лише останнє поле доступу (як-от "створене" поле
ергофоб

Це працює для створення нових користувачів, але чи не існує "кращого" способу сутності, як у вузлів? Щось, що стосується entit_create_stub_entity ('користувач') або entitet_metadata_wrapper (..)? Я прошу, тому що я з усіх сил
намагаюся
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.