You are here

function template_preprocess_bef_hidden in Better Exposed Filters 8.4

Same name and namespace in other branches
  1. 8.5 includes/better_exposed_filters.theme.inc \template_preprocess_bef_hidden()
  2. 8.3 better_exposed_filters.module \template_preprocess_bef_hidden()

Prepares variables for bef-hidden template.

Default template: bef-hidden.html.twig.

Parameters

array $variables: An associative array containing:

  • element: An associative array containing the exposed form element.

File

includes/better_exposed_filters.theme.inc, line 147
Theme hooks, preprocessor, and suggestions.

Code

function template_preprocess_bef_hidden(array &$variables) {
  $element = $variables['element'];

  // This theme function is only used for multi-select elements.
  $variables['is_multiple'] = TRUE;
  $variables['selected'] = empty($element['#value']) ? $element['#default_value'] : $element['#value'];
  $variables['hidden_elements'] = [];
  foreach ($element['#options'] as $value => $label) {
    $variables['hidden_elements'][$value] = [
      '#type' => 'hidden',
      '#value' => $value,
      '#name' => $element['#name'] . '[]',
    ];
  }

  // @todo
  // Check for optgroups.  Put subelements in the $element_set array and add a
  // group heading. Otherwise, just add the element to the set.
  // $element_set = array();
  // if (is_array($elem)) {
  // $element_set = $elem;
  // }
  // else {
  // $element_set[$option] = $elem;
  // }
}