<?php
/*
* This file is part of the ProductHide42 Plugin
*
* Copyright (C) 2023 Diezon.
*
* For the full copyright and license information, please view the LICENSE
* file that was distributed with this source code.
*/
namespace Plugin\ProductHide42;
use Doctrine\ORM\EntityManagerInterface;
use Eccube\Event\EccubeEvents;
use Eccube\Event\EventArgs;
use Eccube\Event\TemplateEvent;
use Symfony\Component\EventDispatcher\EventSubscriberInterface;
use Plugin\ProductHide42\Service\ProductHideService;
class Event implements EventSubscriberInterface
{
/**
* @var ProductHideService
*/
protected $productHideService;
/**
* Event constructor.
*
* @param ProductHideService $productHideService
*/
public function __construct(ProductHideService $productHideService)
{
$this->productHideService = $productHideService;
}
/**
* @return array
*/
public static function getSubscribedEvents()
{
return [
EccubeEvents::ADMIN_PRODUCT_CSV_EXPORT => 'onAdminProductCsvExport',
'@admin/Product/product.twig' => 'onAdminProductProductTwig',
'@admin/Product/index.twig' => 'onAdminProductIndexTwig',
'Product/detail.twig' => 'onProductDetailTwig',
'Cart/index.twig' => 'onCartIndexTwig',
'Mypage/history.twig' => 'onMypageHistoryTwig',
];
}
/**
* @param EventArgs $event
*/
public function onAdminProductCsvExport(EventArgs $event)
{
$this->productHideService->onAdminProductCsvExport($event);
}
/**
* @param TemplateEvent $event
*/
public function onAdminProductProductTwig(TemplateEvent $event)
{
$event->addSnippet('@ProductHide42/admin/Product/product.twig');
}
/**
* @param TemplateEvent $event
*/
public function onAdminProductIndexTwig(TemplateEvent $event)
{
$event->addSnippet('@ProductHide42/admin/Product/index.twig');
}
/**
* @param TemplateEvent $event
*/
public function onProductDetailTwig(TemplateEvent $event)
{
$event->addSnippet('@ProductHide42/front/Product/detail.twig');
}
/**
* @param TemplateEvent $event
*/
public function onCartIndexTwig(TemplateEvent $event)
{
$event->addSnippet('@ProductHide42/front/Cart/index.twig');
}
/**
* @param TemplateEvent $event
*/
public function onMypageHistoryTwig(TemplateEvent $event)
{
$event->addSnippet('@ProductHide42/front/Mypage/history.twig');
}
}