Es gibt scheinbar einige subscriber-fähige Events bei denen kein $event->getSalesChannelContext()
implementiert ist, um an den aktuellen SalesChannelContext zu bekommen. Z.B. MailSentEvent::class
und auch KernelEvents::EXCEPTION
. Wenn man in solchen Subscribern den aktuellen SalesChannel benötigt, frage ich diesen bisher umständlich ab:
/** @var SalesChannelRepository $salesChannelRepository */
$salesChannelRepository = $this->container->get('sales_channel.repository');
$criteria = new Criteria();
$criteria->addFilter(new ContainsFilter('domains.url', $_SERVER['HTTP_HOST']));
$salesChannels = $salesChannelRepository->search($criteria, Context::createDefaultContext());
$currentSalesChannel = $salesChannels->count() > 0 ? $salesChannels->first() : null;
Geht das auch mit weniger Code bzw. einfacher?