function template_preprocess_vefl_views_exposed_form in Views exposed form layout 8.2
Same name and namespace in other branches
- 8.3 vefl.module \template_preprocess_vefl_views_exposed_form()
- 8 vefl.module \template_preprocess_vefl_views_exposed_form()
A theme preprocess function for views_exposed_form.
Adds $region_widgets array with separated by regions widgets.
1 string reference to 'template_preprocess_vefl_views_exposed_form'
- vefl_theme_registry_alter in ./
vefl.module - Implements hook_theme_registry_alter().
File
- ./
vefl.module, line 34 - Module file for vefl.
Code
function template_preprocess_vefl_views_exposed_form(&$variables) {
$form = $variables['form'];
$configuration = $form['#vefl_configuration'];
$regions = [];
foreach ($configuration['regions'] as $region_name => $field_names) {
$regions[$region_name] = [];
foreach ($field_names as $field_name) {
if (!empty($form['actions'][$field_name])) {
$regions[$region_name][$field_name] = $form['actions'][$field_name];
$regions[$region_name][$field_name]['#weight'] = $form['actions']['#weight'];
}
elseif (!empty($form[$field_name])) {
$regions[$region_name][$field_name] = $form[$field_name];
$regions[$region_name][$field_name]['#title'] = isset($form['#info']['filter-' . $field_name]) ? $form['#info']['filter-' . $field_name]['label'] : NULL;
}
}
}
$layoutPluginManager = \Drupal::service('plugin.manager.core.layout');
$layout = $layoutPluginManager
->createInstance($configuration['layout']['id'], $configuration['layout']['settings']);
$built = $layout
->build($regions);
$variables['form'] = $built;
}