You are here

function matrix_field_views_data_alter in Matrix field 8.2

Same name and namespace in other branches
  1. 7.2 views/matrix.views.inc \matrix_field_views_data_alter()

Implements hook_field_views_data_alter().

File

views/matrix.views.inc, line 12
Views handlers for matrix fields

Code

function matrix_field_views_data_alter(&$result, &$field, &$module) {
  if ($module != 'matrix') {
    return;
  }
  $field_name = $field['field_name'];
  $tables = array(
    'field_data_' . $field_name,
  );
  if (isset($result['field_revision_' . $field_name])) {
    $tables[] = 'field_revision_' . $field_name;
  }
  foreach ($tables as $table) {

    // There's no reason to be able to select the 'row' or 'col' value.
    unset($result[$table][$field_name . '_row']);
    unset($result[$table][$field_name . '_col']);

    // Nor does it make sense to sort by the individual matrix values, since the
    // grid is fixed on both axis.
    unset($result[$table][$field_name . '_value']['sort']);
    $result[$table][$field_name]['field']['handler'] = 'matrix_handler_field_field';
    $result[$table][$field_name . '_value']['filter']['handler'] = 'matrix_handler_filter';
  }
}