function template_preprocess_select

Same name and namespace in other branches
  1. 9 core/includes/form.inc \template_preprocess_select()
  2. 8.9.x core/includes/form.inc \template_preprocess_select()
  3. 10 core/includes/form.inc \template_preprocess_select()

Prepares variables for select element templates.

Default template: select.html.twig.

It is possible to group options together; to do this, change the format of the #options property to an associative array in which the keys are group labels, and the values are associative arrays in the normal #options format.

Parameters

$variables: An associative array containing:

  • element: An associative array containing the properties of the element. Properties used: #title, #value, #options, #description, #extra, #multiple, #required, #name, #attributes, #size, #sort_options, #sort_start.

File

core/includes/form.inc, line 33

Code

function template_preprocess_select(&$variables) {
    $element = $variables['element'];
    Element::setAttributes($element, [
        'id',
        'name',
        'size',
    ]);
    RenderElementBase::setAttributes($element, [
        'form-select',
    ]);
    $variables['attributes'] = $element['#attributes'];
    $variables['options'] = form_select_options($element);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.