2012-04-07 2 views
4

저는 Drupal 7 필드 API를 사용하고 있습니다. 'user'엔티티 유형에 대한 사용자 정의 필드를 추가하고 GUI에서 편집 할 수 있습니다.필드 API로 필드 값을 설정하는 방법은 무엇입니까?

나는 field_get_items($entity_type, $entity, $field)을 사용하여 맞춤 입력란 값을 가져옵니다.

이제 프로그래밍 방식으로 내 사용자 정의 필드의 값을 설정해야합니다.

어떻게하면됩니까? Drupal API 문서에서 field_set_items() 함수 호출을 찾을 수 없습니다.

답변

7

필드 값을 설정하는 기능이 없습니다. 일반적으로 다음 코드를 사용하여 필드의 값을 설정할 수 있습니다.

$entity->$fieldname[$language][$delta] = $value; 

모든 필드의 변경 사항은 $value에 전달하는 배열입니다. 예를 들어, 노드의 본문 필드는 다음 구조를 사용합니다.

array(
    'value' => 'Empty text. Revision 3.', 
    'summary' => '', 
    'format' => 'full_html', 
    'safe_value' => '<p>Empty text. Revision 3.</p>', 
    'safe_summary' => '', 
); 

분류 체계 용어로 사용되는 구조는 다음과 같습니다.

array(
    'tid' => 4, 
); 

$delta

정상적으로 0 값이지만 그것은 (설정 될 수 얻을 수있는 값의 최대 수보다 높을수록 다중 값 필드는 한, 임의의 값을 가질 수있다 특정 필드에 대한 사용자 인터페이스).
$language은 언어 ID이며 LANGUAGE_NONE으로 설정할 수도 있습니다.

관련 문제