2016-11-24 3 views
0

피드를 통해 컨텐츠를 가져온 후 노드 필드를 복제하려는 상황이 있습니다. 내가 feeds_tamper_string_2Id 모듈로 가지고있는 도전 때문에 나는 이것을하고있다. 나는 다음과 같은 코드를 시도했지만 그것은 내가 field_tag_people['und']field_tags2['und']의 값을 복사 할피드 가져 오기 후 노드 필드 채우기

function members_entity_presave($entity, $type) 
{ 
    if($entity->type == 'members') { 
     foreach ($entity->field_tags2['und'] as $tags) { 
      array_push($entity->field_tags_people['und'], $tags); 
     } 
    } 
} 

작동하지 않았다.

답변

0

당신의 분야가 분류 기준 인 경우 당신이 시도 할 수 있습니다 :

function MYMODULENAME_entity_presave($entity, $type) 
{ 
    if($entity->type == 'members') { 
    $items = field_get_items($type, $entity, 'field_tags2'); 
    if(is_array($items)) { 
     foreach ($items as $tags) { 
     $entity->field_tags_people[LANGUAGE_NONE][]['tid'] = $tags['tid']; 
     } 
    } 
    } 
} 

편집

당신은 entity_metadata_wrapper 사용할 수 있습니다 https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers

+0

을 필드가 분류 용어를 참조하는 엔티티 참조 필드한다 – mooru

+0

그것은 똑같은 프로세스입니다. 'tid'인덱스를 제거하면 entity_metadata_wrapper https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers를 사용할 수 있습니다. – Fky