comparison core/modules/options/options.views.inc @ 0:4c8ae668cc8c

Initial import (non-working)
author Chris Cannam
date Wed, 29 Nov 2017 16:09:58 +0000
parents
children
comparison
equal deleted inserted replaced
-1:000000000000 0:4c8ae668cc8c
1 <?php
2
3 /**
4 * @file
5 * Provide Views data for options.module.
6 *
7 * @ingroup views_module_handlers
8 */
9
10 use Drupal\field\FieldStorageConfigInterface;
11
12 /**
13 * Implements hook_field_views_data().
14 *
15 * Views integration for list fields. Have a different filter handler and
16 * argument handlers for list fields. This should allow to select values of
17 * the list.
18 */
19 function options_field_views_data(FieldStorageConfigInterface $field) {
20 $data = views_field_default_views_data($field);
21
22 foreach ($data as $table_name => $table_data) {
23 foreach ($table_data as $field_name => $field_data) {
24 if (isset($field_data['filter']) && $field_name != 'delta') {
25 $data[$table_name][$field_name]['filter']['id'] = 'list_field';
26 }
27 if (isset($field_data['argument']) && $field_name != 'delta') {
28 if ($field->getType() == 'list_string') {
29 $data[$table_name][$field_name]['argument']['id'] = 'string_list_field';
30 }
31 else {
32 $data[$table_name][$field_name]['argument']['id'] = 'number_list_field';
33 }
34 }
35 }
36 }
37
38 return $data;
39 }