function mefibs_form_views_ui_config_item_form_alter in MEFIBS - More exposed forms in blocks 8
Same name and namespace in other branches
- 7 mefibs.module \mefibs_form_views_ui_config_item_form_alter()
Implements hook_form_FORM_ID_alter().
File
- ./
mefibs.module, line 154 - Primarily Drupal hooks and global API functions to manipulate views and to provide an additional block with an exposed filter form.
Code
function mefibs_form_views_ui_config_item_form_alter(&$form, $form_state) {
$view = $form_state['view'];
$display_id = $form_state['display_id'];
$display = $view
->getExecutable()->displayHandlers
->get($display_id);
if (!$display
->getOption('exposed_block')) {
return;
}
if (!mefibs_display_is_mefibs_enabled($display)) {
return;
}
$section = $form_state['section'];
$type = $form_state['type'];
if (!in_array($section, array(
'filters',
))) {
return;
}
$mefibs = $display->extender['mefibs'];
$section_settings = $display
->getOption($section);
$element_name = $form_state['id'];
// Check if mefibs is configured
$mefibs_options = $display
->getOption('mefibs');
$blocks = $mefibs
->getEnabledBlocks();
$default_value = isset($mefibs_options[$display_id][$type][$element_name]) ? $mefibs_options[$display_id][$type][$element_name] : '';
$element = $section_settings[$element_name];
if (isset($element['exposed']) && $element['exposed'] && count($blocks)) {
$form['options']['expose']['mefibs_block'] = array(
'#type' => 'select',
'#title' => t('Show in block'),
'#options' => array(
'' => 'default',
) + $blocks,
'#default_value' => $default_value,
);
array_unshift($form['actions']['submit']['#submit'], 'mefibs_form_views_ui_config_item_form_submit');
}
}