diff --git a/core/lib/Drupal/Core/Template/Attribute.php b/core/lib/Drupal/Core/Template/Attribute.php index 3ea18b1..c165981 100644 --- a/core/lib/Drupal/Core/Template/Attribute.php +++ b/core/lib/Drupal/Core/Template/Attribute.php @@ -251,14 +251,20 @@ public function hasClass($class) { * Implements the magic __toString() method. */ public function __toString() { - $return = ''; + $keys = ''; + $values = array(); foreach ($this->storage as $name => $value) { $rendered = $value->render(); if ($rendered) { - $return .= ' ' . $rendered; + $keys .= ' @' . $name; + $values['@' . $name] = $rendered; } } - return SafeMarkup::set($return); + + if(!$rendered){ + return ''; + } + return SafeMarkup::format($keys, $values); } /** diff --git a/core/lib/Drupal/Core/Template/AttributeValueBase.php b/core/lib/Drupal/Core/Template/AttributeValueBase.php index 4db6dd8..de87f7b 100644 --- a/core/lib/Drupal/Core/Template/AttributeValueBase.php +++ b/core/lib/Drupal/Core/Template/AttributeValueBase.php @@ -57,7 +57,7 @@ public function __construct($name, $value) { public function render() { $value = (string) $this; if (isset($this->value) && static::RENDER_EMPTY_ATTRIBUTE || !empty($value)) { - return SafeMarkup::checkPlain($this->name) . '="' . $value . '"'; + return SafeMarkup::format("@name = '@value'", ['@name' => $this->name, '@value' => $value]); } }