public static Element::setAttributes(array &$element, array $map)
Sets HTML attributes based on element properties.
array $element: The renderable element to process. Passed by reference.
array $map: An associative array whose keys are element property names and whose values are the HTML attribute names to set on the corresponding property; e.g., array('#propertyname' => 'attributename'). If both names are identical except for the leading '#', then an attribute name value is sufficient and no property name needs to be specified.
public static function setAttributes(array &$element, array $map) { foreach ($map as $property => $attribute) { // If the key is numeric, the attribute name needs to be taken over. if (is_int($property)) { $property = '#' . $attribute; } // Do not overwrite already existing attributes. if (isset($element[$property]) && !isset($element['#attributes'][$attribute])) { $element['#attributes'][$attribute] = $element[$property]; } } }
© 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.php/function/Element::setAttributes/8.1.x