<?php
/**
* This file is part of MembersOnly42
*
* Copyright(c) Akira Kurozumi <info@a-zumi.net>
*
* https://a-zumi.net
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Plugin\MembersOnly42;
use Plugin\MembersOnly42\Repository\AccessControlRepository;
use Plugin\MembersOnly42\Repository\ConfigRepository;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Eccube\Event\TemplateEvent;
class Event implements EventSubscriberInterface
{
/**
* @var AccessControlRepository
*/
private $accessControlRepository;
/**
* @var ConfigRepository
*/
private $configRepository;
public function __construct(
AccessControlRepository $accessControlRepository,
ConfigRepository $configRepository
)
{
$this->accessControlRepository = $accessControlRepository;
$this->configRepository = $configRepository;
}
public function onTemplateMyPageLogin(TemplateEvent $templateEvent)
{
$templateEvent->addSnippet('@MembersOnly42/default/Mypage/login_message.twig');
}
public function onTemplateProductList(TemplateEvent $templateEvent)
{
$Config = $this->configRepository->get();
if($Config && $Config->getOptionPriceHidden()) {
$templateEvent->addSnippet('@MembersOnly42/default/Product/list.twig');
}
}
public function onTemplateProductDetail(TemplateEvent $templateEvent)
{
$Config = $this->configRepository->get();
if($Config && $Config->getOptionPriceHidden()) {
$templateEvent->addSnippet('@MembersOnly42/default/Product/detail.twig');
}
}
public static function getSubscribedEvents()
{
return [
'Mypage/login.twig' => ['onTemplateMyPageLogin', -256],
'Product/list.twig' => ['onTemplateProductList', -256],
'Product/detail.twig' => ['onTemplateProductDetail', -256]
];
}
}