function location_cck_field_formatter_view in Location 7.5
Same name and namespace in other branches
- 7.3 contrib/location_cck/location_cck.module \location_cck_field_formatter_view()
Implements hook_field_formatter_view(). @Todo: This.
File
- contrib/
location_cck/ location_cck.module, line 296 - Defines location field type.
Code
function location_cck_field_formatter_view($entity_type, $entity, $field, $instance, $langcode, $items, $display) {
$element = array();
$settings = $field['settings']['location_settings'];
$hide = isset($settings['display']['hide']) ? array_keys(array_filter($settings['display']['hide'])) : array();
switch ($display['type']) {
case 'location_default':
foreach ($items as $delta => $item) {
if (!empty($item['lid']) || !empty($entity->in_preview)) {
$element[$delta]['#theme'] = 'location';
$element[$delta]['#location'] = $item;
$element[$delta]['#hide'] = $hide;
}
}
break;
case 'location_all':
foreach ($items as $delta => $item) {
if (!empty($item['lid']) || !empty($entity->in_preview)) {
$element[$delta]['#theme'] = 'location_cck_field_all';
$element[$delta]['#location'] = $item;
$element[$delta]['#hide'] = $hide;
$element[$delta]['#field'] = $field;
$element[$delta]['#instance'] = $instance;
}
}
break;
case 'location_map':
foreach ($items as $delta => $item) {
if (!empty($item['lid']) || !empty($entity->in_preview)) {
$element[$delta]['#theme'] = 'location_cck_field_map';
$element[$delta]['#locations'] = array(
$item,
);
$element[$delta]['#field'] = $field;
$element[$delta]['#instance'] = $instance;
}
}
break;
case 'location_multiple':
$element[0]['#theme'] = 'location_cck_field_map';
$element[0]['#locations'] = $items;
$element[0]['#field'] = $field;
$element[0]['#instance'] = $instance;
break;
}
return $element;
}