2016-11-24 1 views
0

У меня возникает ситуация, когда я пытаюсь клонировать поле узла после импорта содержимого через каналы. Я делаю это из-за проблемы, которую у меня есть с модулем feeds_tamper_string_2Id. Я пробовал следующий код, но он не работаетЗаполнение поля узла после импорта фидов

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

Я хочу, чтобы скопировать значения field_tags2['und'] в field_tag_people['und'].

ответ

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']; 
     } 
    } 
    } 
} 

EDIT

Вы можете использовать entity_metadata_wrapper: https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers

+0

Поля ссылки на поле объекта, который ссылается на термины таксономии – mooru

+0

это тот же процесс, juste remove 'tid' index, вы можете использовать entity_metadata_wrapper https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers – Fky

Смежные вопросы