layout_builder_component_attributes-1.1.0/src/EventSubscriber/LayoutBuilderComponentRenderArray.php
src/EventSubscriber/LayoutBuilderComponentRenderArray.php
<?php
namespace Drupal\layout_builder_component_attributes\EventSubscriber;
use Drupal\layout_builder\Event\SectionComponentBuildRenderArrayEvent;
use Drupal\layout_builder\LayoutBuilderEvents;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
/**
* Event subscriber to add classes when components are rendered.
*/
class LayoutBuilderComponentRenderArray implements EventSubscriberInterface {
/**
* {@inheritdoc}
*/
public static function getSubscribedEvents(): array {
$events[LayoutBuilderEvents::SECTION_COMPONENT_BUILD_RENDER_ARRAY] = ['onBuildRender'];
return $events;
}
/**
* Adds block classes to section component.
*
* @param \Drupal\layout_builder\Event\SectionComponentBuildRenderArrayEvent $event
* The section component render event.
*/
public function onBuildRender(SectionComponentBuildRenderArrayEvent $event) {
$build = $event->getBuild();
if (!empty($build)) {
$build['#component_attributes'] = $event->getComponent()->get('component_attributes');
$event->setBuild($build);
}
}
}
