<?php
namespace Plugin\BannerB001Block42;
use Eccube\Event\TemplateEvent;
use Plugin\BannerB001Block42\Entity\BannerBlock;
use Plugin\BannerB001Block42\Repository\BannerBlockRepository;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
class BannerB001Block42Event implements EventSubscriberInterface
{
/**
* @var BannerBlockRepository
*/
private BannerBlockRepository $bannerBlockRepository;
/**
* @param BannerBlockRepository $bannerBlockRepository
*/
public function __construct(BannerBlockRepository $bannerBlockRepository)
{
$this->bannerBlockRepository = $bannerBlockRepository;
}
/**
* @return array
*/
public static function getSubscribedEvents(): array
{
return [
'default_frame.twig' => 'includeAssets',
];
}
/**
* @noinspection PhpUnused
*
* @param TemplateEvent $event
*/
public function includeAssets(TemplateEvent $event)
{
/** @var BannerBlock $BannerBlock */
$BannerBlock = $this->bannerBlockRepository->findOneBy(['type' => 'banner01']);
if ($BannerBlock) {
$parameters = $event->getParameters();
$parameters['BannerBlock'] = $BannerBlock;
$event->setParameters($parameters);
$event->addAsset('@BannerB001Block42/styles.twig');
}
}
}