function views_plugin_ds_fields_view::options_form in Display Suite 6.2
Same name and namespace in other branches
- 6.3 views/views_plugin_ds_fields_view.inc \views_plugin_ds_fields_view::options_form()
- 6 views/views_plugin_ds_fields_view.inc \views_plugin_ds_fields_view::options_form()
- 7.2 views/views_plugin_ds_fields_view.inc \views_plugin_ds_fields_view::options_form()
- 7 views/views_plugin_ds_fields_view.inc \views_plugin_ds_fields_view::options_form()
Provide a form for setting options.
File
- views/
views_plugin_ds_fields_view.inc, line 18 - Contains the ds views fields style plugin.
Class
- views_plugin_ds_fields_view
- @file Contains the ds views fields style plugin.
Code
function options_form(&$form, &$form_state) {
if (!module_exists('ds_ui')) {
$form['no_ui'] = array(
'#type' => 'markup',
'#value' => ' ' . t('The Display Suite UI module is not enabled, enable the module if you want to change this layout.'),
);
return;
}
$fields = array();
$display_settings = array();
foreach ($this->display->handler
->get_handlers('field') as $field => $handler) {
$type = $handler->definition['handler'] == 'ds_handler_field_fieldgroup' ? DS_FIELD_TYPE_GROUP : DS_FIELD_TYPE_PREPROCESS;
$fields[$field] = array(
'title' => $handler
->label() == '' ? $handler
->ui_name() : $handler
->label(),
'status' => DS_FIELD_STATUS_STATIC,
'type' => $type,
);
// Build the display settings.
$display_settings['views']['fields'][$field]['region'] = isset($this->options[$field]['region']) ? $this->options[$field]['region'] : 'disabled';
$display_settings['views']['fields'][$field]['weight'] = isset($this->options[$field]['weight']) ? $this->options[$field]['weight'] : 0;
$display_settings['views']['fields'][$field]['css-class'] = isset($this->options[$field]['css-class']) ? $this->options[$field]['css-class'] : '';
$display_settings['views']['fields'][$field]['labelformat'] = isset($this->options[$field]['labelformat']) ? $this->options[$field]['labelformat'] : 'default';
$display_settings['views']['fields'][$field]['parent'] = isset($this->options[$field]['parent']) ? $this->options[$field]['parent'] : '';
}
$form['#module'] = 'ds';
$form['#build_mode'] = 'views';
$form['#type_name'] = 'views_object';
$form['#extra'] = array();
$form['#regions'] = ds_regions();
// Load the drag and drop form.
module_load_include('inc', 'ds', 'includes/ds.display');
ds_fields_display_form($form, $display_settings, $fields);
// Add our javascript and css.
$path = drupal_get_path('module', 'ds');
$form['#prefix'] = '<script type="text/javascript" src="' . base_path() . $path . '/js/ds.js?d"></script>' . '<link type="text/css" rel="stylesheet" media="all" href="' . base_path() . $path . '/css/ds.css" />';
// Special js stuff for drag and drop.
$form['#js']['tableDrag']['fields']['ds-parent-id'][0] = array(
'target' => 'ds-parent-id',
'source' => 'ds-field-id',
'group' => 'ds-parent-id',
'subgroup' => 'ds-parent-id',
'relationship' => 'parent',
'action' => 'match',
'hidden' => FALSE,
'limit' => 1,
);
$form['#js']['tableDrag']['fields']['field-weight'][0] = array(
'target' => 'field-weight',
'source' => NULL,
'relationship' => 'sibling',
'action' => 'order',
'hidden' => TRUE,
'limit' => 0,
);
// We're using a different theme.
$form['#theme'] = 'ds_display_overview_views_form';
views_ui_standard_form_buttons($form, $form_state, 'views_ui_ds_form');
}