function civicrm_entity_reference_field_field_load in CiviCRM Entity 7.2
Implements hook_field_load().
Parameters
$entity_type:
$entities:
$field:
$instances:
$langcode:
$items:
$age:
File
- modules/
civicrm_entity_reference_field/ civicrm_entity_reference_field.module, line 204 - Provide CiviCRM entity reference field type
Code
function civicrm_entity_reference_field_field_load($entity_type, $entities, $field, $instances, $langcode, &$items, $age) {
if (!civicrm_initialize()) {
return;
}
foreach ($entities as $id => $entity) {
if (!empty($entity->{$field['settings']['host_source_id']})) {
try {
$params = array(
$field['settings']['target_id_column'] => $entity->{$field['settings']['host_source_id']},
);
$is_primary_entities = array(
'address',
'phone',
'email',
'im',
);
if (in_array($field['settings']['target_entity_type'], $is_primary_entities)) {
$params['options'] = array(
'sort' => 'is_primary DESC',
);
}
$result = civicrm_api3($field['settings']['target_entity_type'], 'get', $params);
} catch (CiviCRM_API3_Exception $e) {
$error = $e
->getMessage();
drupal_set_message($error, 'error');
continue;
}
if ($result['count']) {
$delta = 0;
foreach ($result['values'] as $target_id => $data) {
$items[$id][$delta]['target_id'] = $target_id;
$delta += 1;
}
}
}
}
}