datetime_field_views_data(FieldStorageConfigInterface $field_storage)
Implements hook_field_views_data().
File
- core/modules/datetime/datetime.views.inc, line 13
- Provides views data for the datetime module.
Code
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 | function datetime_field_views_data(FieldStorageConfigInterface $field_storage ) { // @todo This code only covers configurable fields, handle base table fields $data = views_field_default_views_data( $field_storage ); foreach ( $data as $table_name => $table_data ) { // Set the 'datetime' filter type. $data [ $table_name ][ $field_storage ->getName() . '_value' ][ 'filter' ][ 'id' ] = 'datetime' ; // Set the 'datetime' argument type. $data [ $table_name ][ $field_storage ->getName() . '_value' ][ 'argument' ][ 'id' ] = 'datetime' ; // Create year, month, and day arguments. $group = $data [ $table_name ][ $field_storage ->getName() . '_value' ][ 'group' ]; $arguments = [ // Argument type => help text. 'year' => t( 'Date in the form of YYYY.' ), 'month' => t( 'Date in the form of MM (01 - 12).' ), 'day' => t( 'Date in the form of DD (01 - 31).' ), 'week' => t( 'Date in the form of WW (01 - 53).' ), 'year_month' => t( 'Date in the form of YYYYMM.' ), 'full_date' => t( 'Date in the form of CCYYMMDD.' ), ]; foreach ( $arguments as $argument_type => $help_text ) { $data [ $table_name ][ $field_storage ->getName() . '_value_' . $argument_type ] = [ 'title' => $field_storage ->getLabel() . ' (' . $argument_type . ')' , 'help' => $help_text , 'argument' => [ 'field' => $field_storage ->getName() . '_value' , 'id' => 'datetime_' . $argument_type , ], 'group' => $group , ]; } // Set the 'datetime' sort handler. $data [ $table_name ][ $field_storage ->getName() . '_value' ][ 'sort' ][ 'id' ] = 'datetime' ; } return $data ; } |
Please login to continue.