2016-11-24 1 views
0

J'ai une situation dans laquelle j'essaie de cloner un champ de noeud après l'importation de contenu via des flux. Je le fais en raison d'un défi que j'ai avec le module feeds_tamper_string_2Id. J'ai essayé le code suivant, mais cela n'a pas fonctionnéChamp de noeud de remplissage après l'importation de flux

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

Je veux copier les valeurs de field_tags2['und'] dans field_tag_people['und'].

Répondre

0

Si votre champ est une référence de taxonomie vous pouvez essayer ceci:

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

Vous pouvez utiliser entity_metadata_wrapper: https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers

+0

Le champ est un champ de référence de l'entité qui fait référence à des termes de taxonomie – mooru

+0

c'est le même processus, il suffit de supprimer l'index 'tid', vous pouvez utiliser entity_metadata_wrapper https://www.drupal.org/docs/7/api/entity-api/entity-metadata-wrappers – Fky