protected function views_merge_rows_plugin_display_extender::views_merge_rows_options_form in Views Merge Rows 7
Provide a form to edit options for this plugin.
1 call to views_merge_rows_plugin_display_extender::views_merge_rows_options_form()
- views_merge_rows_plugin_display_extender::options_form in ./
views_merge_rows_plugin_display_extender.inc - Provide the form to set the rows merge options.
File
- ./
views_merge_rows_plugin_display_extender.inc, line 65 - Contains the class to extend views display with rows merge functionality.
Class
- views_merge_rows_plugin_display_extender
- The plugin that merges rows with the same content in the specified fields.
Code
protected function views_merge_rows_options_form(&$form, &$form_state) {
$options = $this
->get_options();
if ($this->display->display->handler
->use_pager()) {
$form['warning_markup'] = array(
'#markup' => '<div class="warning messages">' . t('It is highly recommended to disable pager if you merge rows.') . '</div>',
);
}
$form['#tree'] = TRUE;
$form['#theme'] = 'views_merge_rows_display_extender_plugin_table';
$form['#title'] .= t('Merge rows with the same content.');
$form['merge_rows'] = array(
'#type' => 'checkbox',
'#title' => t('Merge rows with the same content in the specified fields'),
'#default_value' => $options['merge_rows'],
);
// Create an array of allowed columns from the data we know:
$field_names = $this->display->display->handler
->get_field_labels();
foreach ($field_names as $field => $name) {
$safe = str_replace(array(
'][',
'_',
' ',
), '-', $field);
// Markup for the field name.
$form['field_config'][$field]['name'] = array(
'#markup' => $name,
);
// Select for merge options.
$form['field_config'][$field]['merge_option'] = array(
'#type' => 'select',
'#options' => array(
'merge_unique' => t('Merge unique values of this field'),
'merge' => t('Merge values of this field'),
'filter' => t('Use values of this field as a filter'),
'first_value' => t('Use the first value of this field'),
'count' => t('Count merged values of this field'),
'count_unique' => t('Count merged unique values of this field'),
),
'#default_value' => $options['field_config'][$field]['merge_option'],
);
$form['field_config'][$field]['separator'] = array(
'#id' => 'views-merge-rows-separator',
'#title' => t('Separator:'),
'#type' => 'textfield',
'#size' => 10,
'#default_value' => $options['field_config'][$field]['separator'],
'#dependency' => array(
'edit-options-field-config-' . $safe . '-merge-option' => array(
'merge',
'merge_unique',
),
),
);
}
}