You are here

function geofield_field_views_data in Geofield 7.2

Same name and namespace in other branches
  1. 8 geofield.views.inc \geofield_field_views_data()

Implements hook_field_views_data().

Views integration for geofields.

File

views/geofield.views.inc, line 21
Hooks for Views integration.

Code

function geofield_field_views_data($field) {
  $data = field_views_field_default_views_data($field);
  $field_name = $field['field_name'];
  foreach ($data as $table_name => $table_data) {
    if (isset($table_data[$field_name])) {
      $group_name = $table_data[$field_name]['group'];
      $title = $table_data[$field_name]['title'] . " ({$field_name}) - proximity";
      $data[$table_name]['field_geofield_distance'] = array(
        'group' => $group_name,
        'title' => $title,
        'title short' => $title,
        'help' => $table_data[$field_name]['help'],
        'sort' => array(
          'field' => 'field_geofield_distance',
          'table' => $table_name,
          'handler' => 'geofield_handler_sort',
          'field_name' => $field['field_name'],
          'real_field' => $table_name,
        ),
        'field' => array(
          'field' => 'field_geofield_distance',
          'table' => $table_name,
          'handler' => 'geofield_handler_field',
          'field_name' => $field['field_name'],
          'real_field' => $table_name,
          'float' => TRUE,
          'click sortable' => TRUE,
        ),
        'filter' => array(
          'field' => 'field_geofield_distance',
          'table' => $table_name,
          'handler' => 'geofield_handler_filter',
          'field_name' => $field['field_name'],
          'real_field' => $table_name,
        ),
        'argument' => array(
          'handler' => 'geofield_handler_argument_proximity',
          'field_name' => $field['field_name'],
        ),
      );
    }
  }
  return $data;
}