프로그래밍 방식으로 사용자 정의 필드를 사용하여 새 사용자를 작성하는 방법은 무엇입니까?


18

일부 사용자 정의 필드로 사용자를 만들고 싶습니다. 구성> 사람> 사이트 정보> 이름, 성, 도시 등의 필드 및 필드 관리를 통해 추가 필드를 만들었습니다.이 사용자 정의 필드로 사용자를 만들고 싶습니다.

프로그래밍 방식으로 사용자를 만들려면 어떻게해야합니까?

답변:


25

user_saveDrupal 기능을 사용하면 다음과 같이 새로운 사용자를 만들 수 있습니다.

$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 페이지의 의견에서 이것을 복사하고 수정 했으므로 100 %가 아닙니다 access. 마지막 액세스 날짜라고 가정 할 것이므로 새로운 사용자 인 경우 설정하지 않아야한다고 생각합니다.
Beebee

그 일을 잘 해주셔서 감사합니다. 늦게 재생해서 죄송합니다.
Pranav Gandhi

@GandhiPranav 그들이 당신을 도운 경우에 당신의 질문에 대한 답변을 받아들이는 것을 잊지 마십시오; 이는 미래 방문자에게 특정 솔루션이 특정 문제를 해결 한 솔루션임을 알리고 노력에 대한 답변을 제공합니다. 투표 표시기 아래에있는 확인 표시를 클릭하여 답변을 수락 할 수 있습니다. 감사합니다 :)
Clive

액세스는 마지막 액세스 필드 일뿐입니다 (예 : "만들어진"필드
ergophobe

이것은 새로운 사용자를 만들기 위해 작동하지만 노드와 같은 "선호"엔터티 방식이 없습니까? entity_create_stub_entity ( 'user') 또는 entity_metadata_wrapper (..)와 관련이 있습니까? 나는 엔티티 방식으로 그것을 고투하고 있기 때문에 물어 .. :)
texas-bronius
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.