function civicrm_entity_contact_group_assign_field_field_formatter_view in CiviCRM Entity 7.2
Implements hook_field_formatter_view().
File
- modules/
civicrm_entity_contact_group_assign_field/ civicrm_entity_contact_group_assign_field.module, line 349 - Provide CiviCRM Entity Contact Group Assign Field Type. Provides a widget for adding/removing a contact to a selected list of groups.
Code
function civicrm_entity_contact_group_assign_field_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
$settings = $display['settings'];
switch ($display['type']) {
case 'civicrm_entity_contact_group_assign_field_default_formatter':
$output_as_link = !empty($settings['link_to_groups']) ? 1 : 0;
foreach ($items as $delta => $item) {
$markup = '';
foreach ($item['groups'] as $group_id => $value) {
if ($value) {
try {
$result = civicrm_api3('Group', 'getvalue', array(
'return' => "title",
'id' => $group_id,
));
} catch (CiviCRM_API3_Exception $e) {
continue;
}
$group_text = $result;
if ($output_as_link) {
$group_path = 'civicrm-group' . '/' . $group_id;
$markup .= '<div class="civicrm-group-item">' . l($group_text, $group_path) . '</div>';
}
else {
$markup .= '<div class="civicrm-group-item">' . $group_text . '</div>';
}
}
}
$element[$delta] = array(
'#markup' => $markup,
);
}
break;
}
return $element;
}