public function RegistrationViewsData::getViewsData in RNG - Events and Registrations 8
Same name and namespace in other branches
- 8.2 src/Views/RegistrationViewsData.php \Drupal\rng\Views\RegistrationViewsData::getViewsData()
- 3.x src/Views/RegistrationViewsData.php \Drupal\rng\Views\RegistrationViewsData::getViewsData()
Returns views data for the entity type.
Return value
array Views data in the format of hook_views_data().
Overrides EntityViewsData::getViewsData
File
- src/
Views/ RegistrationViewsData.php, line 15
Class
- RegistrationViewsData
- Provides views data for registration entities.
Namespace
Drupal\rng\ViewsCode
public function getViewsData() {
$data = parent::getViewsData();
$registration_definition = \Drupal::entityTypeManager()
->getDefinition('registration');
$group_definition = \Drupal::entityTypeManager()
->getDefinition('registration_group');
// Add base field reference for groups.
$t_args = [
'@origin_label' => $registration_definition
->getLabel(),
'@target_label' => $group_definition
->getLabel(),
];
$data['registration__groups']['table']['group'] = $group_definition
->getLabel();
$data['registration__groups']['table']['join']['registration_field_data'] = [
'left_field' => 'id',
'field' => 'entity_id',
];
$data['registration__groups']['groups_target_id'] = [
'title' => t('Group ID'),
'help' => t('A @target_labels group ID.', $t_args),
'field' => [
'id' => 'numeric',
],
'argument' => [
'id' => 'numeric',
],
'filter' => [
'id' => 'numeric',
'allow empty' => TRUE,
],
'sort' => [
'id' => 'standard',
],
];
$psuedo_field = 'rng_registration__registration_group';
$data['registration__groups'][$psuedo_field]['relationship'] = [
'title' => t('@target_labels', $t_args),
'label' => t('@target_labels', $t_args),
'group' => $registration_definition
->getLabel(),
'help' => t('References to the @target_labels of a @origin_label.', $t_args),
'id' => 'standard',
'base' => 'registration_group_field_data',
'base field' => $group_definition
->getKey('id'),
'relationship field' => 'groups_target_id',
];
return $data;
}