public function Field::buildGroupByForm in Zircon Profile 8
Same name and namespace in other branches
- 8.0 core/modules/views/src/Plugin/views/field/Field.php \Drupal\views\Plugin\views\field\Field::buildGroupByForm()
Extend the groupby form with group columns.
Overrides HandlerBase::buildGroupByForm
File
- core/
modules/ views/ src/ Plugin/ views/ field/ Field.php, line 622 - Contains \Drupal\views\Plugin\views\field\Field.
Class
- Field
- A field that displays entity field data.
Namespace
Drupal\views\Plugin\views\fieldCode
public function buildGroupByForm(&$form, FormStateInterface $form_state) {
parent::buildGroupByForm($form, $form_state);
// With "field API" fields, the column target of the grouping function
// and any additional grouping columns must be specified.
$field_columns = array_keys($this
->getFieldDefinition()
->getColumns());
$group_columns = array(
'entity_id' => $this
->t('Entity ID'),
) + array_map('ucfirst', array_combine($field_columns, $field_columns));
$form['group_column'] = array(
'#type' => 'select',
'#title' => $this
->t('Group column'),
'#default_value' => $this->options['group_column'],
'#description' => $this
->t('Select the column of this field to apply the grouping function selected above.'),
'#options' => $group_columns,
);
$options = array(
'bundle' => 'Bundle',
'language' => 'Language',
'entity_type' => 'Entity_type',
);
// Add on defined fields, noting that they're prefixed with the field name.
$form['group_columns'] = array(
'#type' => 'checkboxes',
'#title' => $this
->t('Group columns (additional)'),
'#default_value' => $this->options['group_columns'],
'#description' => $this
->t('Select any additional columns of this field to include in the query and to group on.'),
'#options' => $options + $group_columns,
);
}