function mefibs_form_views_ui_edit_display_form_alter in MEFIBS - More exposed forms in blocks 8
Same name and namespace in other branches
- 7 mefibs.module \mefibs_form_views_ui_edit_display_form_alter()
Implements hook_form_FORM_ID_alter().
File
- ./
mefibs.module, line 31 - 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_edit_display_form_alter(&$form, $form_state) {
if (!in_array($form_state['section'], array(
'pager_options',
'exposed_form_options',
))) {
return;
}
$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;
}
$mefibs_options = $display
->getOption('mefibs');
$blocks = $display->extender['mefibs']
->getEnabledBlocks();
// Add block selector for exposed items_per_page options
if ($form_state['section'] == 'pager_options') {
$form['options']['pager_options']['expose']['items_per_page']['#weight'] = -1;
$form['options']['pager_options']['expose']['items_per_page_label']['#weight'] = -1;
$form['options']['pager_options']['expose']['items_per_page_options']['#weight'] = -1;
$form['options']['pager_options']['expose']['mefibs_block_items_per_page'] = array(
'#type' => 'select',
'#title' => t('Show in block'),
'#options' => array(
'' => 'default',
) + $blocks,
'#default_value' => isset($mefibs_options[$display_id]['other']['items_per_page']) ? $mefibs_options[$display_id]['other']['items_per_page'] : '',
'#states' => array(
'invisible' => array(
'input[name="pager_options[expose][items_per_page]"]' => array(
'checked' => FALSE,
),
),
),
'#weight' => 0,
);
$form['options']['pager_options']['expose']['mefibs_block_offset'] = array(
'#type' => 'select',
'#title' => t('Show in block'),
'#options' => array(
'' => 'default',
) + $blocks,
'#default_value' => isset($mefibs_options[$display_id]['other']['offset']) ? $mefibs_options[$display_id]['other']['offset'] : '',
'#states' => array(
'invisible' => array(
'input[name="pager_options[expose][offset]"]' => array(
'checked' => FALSE,
),
),
),
'#weight' => 1,
);
}
// Add blockselector for exposed form plugin settings.
if ($form_state['section'] == 'exposed_form_options') {
$form['options']['mefibs_block_sort'] = array(
'#type' => 'select',
'#title' => t('Show in block'),
'#description' => t('Set where exposed sort items will be displayed.'),
'#options' => array(
'' => 'default',
) + $blocks,
'#default_value' => isset($mefibs_options[$display_id]['sort_block']) ? $mefibs_options[$display_id]['sort_block'] : '',
);
}
array_unshift($form['actions']['submit']['#submit'], 'mefibs_form_views_ui_edit_display_form_submit');
}