Mercurial > hg > cmmr2012-drupal-site
annotate core/modules/options/options.views.inc @ 4:a9cd425dd02b
Update, including to Drupal core 8.6.10
author | Chris Cannam |
---|---|
date | Thu, 28 Feb 2019 13:11:55 +0000 |
parents | c75dbcec494b |
children |
rev | line source |
---|---|
Chris@0 | 1 <?php |
Chris@0 | 2 |
Chris@0 | 3 /** |
Chris@0 | 4 * @file |
Chris@0 | 5 * Provide Views data for options.module. |
Chris@0 | 6 * |
Chris@0 | 7 * @ingroup views_module_handlers |
Chris@0 | 8 */ |
Chris@0 | 9 |
Chris@0 | 10 use Drupal\field\FieldStorageConfigInterface; |
Chris@0 | 11 |
Chris@0 | 12 /** |
Chris@0 | 13 * Implements hook_field_views_data(). |
Chris@0 | 14 * |
Chris@0 | 15 * Views integration for list fields. Have a different filter handler and |
Chris@0 | 16 * argument handlers for list fields. This should allow to select values of |
Chris@0 | 17 * the list. |
Chris@0 | 18 */ |
Chris@0 | 19 function options_field_views_data(FieldStorageConfigInterface $field) { |
Chris@0 | 20 $data = views_field_default_views_data($field); |
Chris@0 | 21 |
Chris@0 | 22 foreach ($data as $table_name => $table_data) { |
Chris@0 | 23 foreach ($table_data as $field_name => $field_data) { |
Chris@0 | 24 if (isset($field_data['filter']) && $field_name != 'delta') { |
Chris@0 | 25 $data[$table_name][$field_name]['filter']['id'] = 'list_field'; |
Chris@0 | 26 } |
Chris@0 | 27 if (isset($field_data['argument']) && $field_name != 'delta') { |
Chris@0 | 28 if ($field->getType() == 'list_string') { |
Chris@0 | 29 $data[$table_name][$field_name]['argument']['id'] = 'string_list_field'; |
Chris@0 | 30 } |
Chris@0 | 31 else { |
Chris@0 | 32 $data[$table_name][$field_name]['argument']['id'] = 'number_list_field'; |
Chris@0 | 33 } |
Chris@0 | 34 } |
Chris@0 | 35 } |
Chris@0 | 36 } |
Chris@0 | 37 |
Chris@0 | 38 return $data; |
Chris@0 | 39 } |