app/Plugin/MembersOnly42/Event.php line 41

Open in your IDE?
  1. <?php
  2. /**
  3.  * This file is part of MembersOnly42
  4.  *
  5.  * Copyright(c) Akira Kurozumi <info@a-zumi.net>
  6.  *
  7.  * https://a-zumi.net
  8.  *
  9.  * For the full copyright and license information, please view the LICENSE
  10.  * file that was distributed with this source code.
  11.  */
  12. namespace Plugin\MembersOnly42;
  13. use Plugin\MembersOnly42\Repository\AccessControlRepository;
  14. use Plugin\MembersOnly42\Repository\ConfigRepository;
  15. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  16. use Eccube\Event\TemplateEvent;
  17. class Event implements EventSubscriberInterface
  18. {
  19.     /**
  20.      * @var AccessControlRepository
  21.      */
  22.     private $accessControlRepository;
  23.     /**
  24.      * @var ConfigRepository
  25.      */
  26.     private $configRepository;
  27.     public function __construct(
  28.         AccessControlRepository $accessControlRepository,
  29.         ConfigRepository $configRepository
  30.     )
  31.     {
  32.         $this->accessControlRepository $accessControlRepository;
  33.         $this->configRepository $configRepository;
  34.     }
  35.     public function onTemplateMyPageLogin(TemplateEvent $templateEvent)
  36.     {
  37.         $templateEvent->addSnippet('@MembersOnly42/default/Mypage/login_message.twig');
  38.     }
  39.     public function onTemplateProductList(TemplateEvent $templateEvent)
  40.     {
  41.         $Config $this->configRepository->get();
  42.         if($Config && $Config->getOptionPriceHidden()) {
  43.             $templateEvent->addSnippet('@MembersOnly42/default/Product/list.twig');
  44.         }
  45.     }
  46.     public function onTemplateProductDetail(TemplateEvent $templateEvent)
  47.     {
  48.         $Config $this->configRepository->get();
  49.         if($Config && $Config->getOptionPriceHidden()) {
  50.             $templateEvent->addSnippet('@MembersOnly42/default/Product/detail.twig');
  51.         }
  52.     }
  53.     public static function getSubscribedEvents()
  54.     {
  55.         return [
  56.             'Mypage/login.twig' => ['onTemplateMyPageLogin', -256],
  57.             'Product/list.twig' => ['onTemplateProductList', -256],
  58.             'Product/detail.twig' => ['onTemplateProductDetail', -256]
  59.         ];
  60.     }
  61. }