public static function ImageButton::preRenderButton

public static ImageButton::preRenderButton($element)

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.

Overrides Button::preRenderButton

File

core/lib/Drupal/Core/Render/Element/ImageButton.php, line 69

Class

ImageButton
Provides a form element for a submit button with an image.

Namespace

Drupal\Core\Render\Element

Code

public static function preRenderButton($element) {
  $element['#attributes']['type'] = 'image';
  Element::setAttributes($element, array('id', 'name', 'value'));

  $element['#attributes']['src'] = file_url_transform_relative(file_create_url($element['#src']));
  if (!empty($element['#title'])) {
    $element['#attributes']['alt'] = $element['#title'];
    $element['#attributes']['title'] = $element['#title'];
  }

  $element['#attributes']['class'][] = 'image-button';
  if (!empty($element['#button_type'])) {
    $element['#attributes']['class'][] = 'image-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;
}

© 2001–2016 by the original authors
Licensed under the GNU General Public License, version 2 and later.
Drupal is a registered trademark of Dries Buytaert.
https://api.drupal.org/api/drupal/core!lib!Drupal!Core!Render!Element!ImageButton.php/function/ImageButton::preRenderButton/8.1.x