public function Attribute::addClass in Drupal 9
Same name and namespace in other branches
- 8 core/lib/Drupal/Core/Template/Attribute.php \Drupal\Core\Template\Attribute::addClass()
- 10 core/lib/Drupal/Core/Template/Attribute.php \Drupal\Core\Template\Attribute::addClass()
Adds classes or merges them on to array of existing CSS classes.
Parameters
string|array ...: CSS classes to add to the class attribute array.
Return value
$this
File
- core/
lib/ Drupal/ Core/ Template/ Attribute.php, line 174
Class
- Attribute
- Collects, sanitizes, and renders HTML attributes.
Namespace
Drupal\Core\TemplateCode
public function addClass() {
$args = func_get_args();
if ($args) {
$classes = [];
foreach ($args as $arg) {
// Merge the values passed in from the classes array.
// The argument is cast to an array to support comma separated single
// values or one or more array arguments.
$classes = array_merge($classes, (array) $arg);
}
// Merge if there are values, just add them otherwise.
if (isset($this->storage['class']) && $this->storage['class'] instanceof AttributeArray) {
// Merge the values passed in from the class value array.
$classes = array_merge($this->storage['class']
->value(), $classes);
$this->storage['class']
->exchangeArray($classes);
}
else {
$this
->offsetSet('class', $classes);
}
}
return $this;
}