在实际的项目中,我们遇到这样的问题,讲座与讲座视频,我们处理成为了两个内容类型,讲座代码是唯一的,为了导入的方便,我们先导入了讲座,再导入了讲座视频,然后写了一段代码,根据讲座代码,来同步两个内容类型的关联。
这是我编写的PHP代码,用在VBO中:
$query = new EntityFieldQuery();
$query->entityCondition('entity_type', 'node');
$query->entityCondition('bundle', 'lecture');
$col = 'value'; //hardcoded at here.
$query->fieldCondition('field_booking_code', $col, $entity->field_precode['und'][0]['value']);
$result = $query->execute();
$count = $query
->count()
->execute();
if ($count) {
$nids = array_keys($result['node']);
$nid = reset($nids);
$entity->field_lecture['und'][0]['target_id'] = $nid;
node_save($entity);
}先用单个节点测试了一下,可以,然后批处理所有的节点。

