function Button::preRenderButton

Same name and namespace in other branches
  1. 9 core/lib/Drupal/Core/Render/Element/Button.php \Drupal\Core\Render\Element\Button::preRenderButton()
  2. 8.9.x core/lib/Drupal/Core/Render/Element/Button.php \Drupal\Core\Render\Element\Button::preRenderButton()
  3. 10 core/lib/Drupal/Core/Render/Element/Button.php \Drupal\Core\Render\Element\Button::preRenderButton()

Prepares a #type 'button' render element for input.html.twig.

Parameters

array $element: An associative array containing the properties of the element. Properties used: #attributes, #button_type, #name, #value. The #button_type property accepts any value, though core themes have CSS that styles the following button_types appropriately: 'primary', 'danger'.

Return value

array The $element with prepared variables ready for input.html.twig.

1 method overrides Button::preRenderButton()
ImageButton::preRenderButton in core/lib/Drupal/Core/Render/Element/ImageButton.php
Prepares a #type 'button' render element for input.html.twig.

File

core/lib/Drupal/Core/Render/Element/Button.php, line 82

Class

Button
Provides an action button form element.

Namespace

Drupal\Core\Render\Element

Code

public static function preRenderButton($element) {
    $element['#attributes']['type'] = 'submit';
    Element::setAttributes($element, [
        'id',
        'name',
        'value',
    ]);
    $element['#attributes']['class'][] = 'button';
    if (!empty($element['#button_type'])) {
        $element['#attributes']['class'][] = 'button--' . $element['#button_type'];
    }
    $element['#attributes']['class'][] = 'js-form-submit';
    $element['#attributes']['class'][] = 'form-submit';
    if (!empty($element['#attributes']['disabled'])) {
        $element['#attributes']['class'][] = 'is-disabled';
    }
    return $element;
}

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