app/Plugin/SearchPlus42/Event/AdminProductEvent.php line 45

Open in your IDE?
  1. <?php
  2. /*
  3. * Plugin Name : SearchPlus
  4. *
  5. * Copyright (C) BraTech Co., Ltd. All Rights Reserved.
  6. * http://www.bratech.co.jp/
  7. *
  8. * For the full copyright and license information, please view the LICENSE
  9. * file that was distributed with this source code.
  10. */
  11. namespace Plugin\SearchPlus42\Event;
  12. use Doctrine\ORM\EntityManagerInterface;
  13. use Eccube\Event\TemplateEvent;
  14. use Plugin\SearchPlus42\Service\SearchPlusService;
  15. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  16. class AdminProductEvent implements EventSubscriberInterface
  17. {
  18.     private $entityManager;
  19.     private $searchPlusService;
  20.     public function __construct(
  21.             EntityManagerInterface $entityManager,
  22.             SearchPlusService $searchPlusService
  23.             )
  24.     {
  25.         $this->entityManager $entityManager;
  26.         $this->searchPlusService $searchPlusService;
  27.     }
  28.     /**
  29.      * @return array
  30.      */
  31.     public static function getSubscribedEvents()
  32.     {
  33.         return [
  34.             '@admin/Product/index.twig' => 'onTemplateAdminProduct',
  35.             '@ProductPlus42/admin/Product/edit.twig' => 'onTemplateAdminProductItemEdit',
  36.         ];
  37.     }
  38.     public function onTemplateAdminProduct(TemplateEvent $event)
  39.     {
  40.         if($this->searchPlusService->checkInstallPlugin('ProductPlus42')){
  41.             $productItemRepository $this->entityManager->getRepository('Plugin\ProductPlus42\Entity\ProductItem');
  42.             $ProductItems $productItemRepository->findAll();
  43.             $parameters $event->getParameters();
  44.             $parameters['ProductItems'] = $ProductItems;
  45.             $event->setParameters($parameters);
  46.         }
  47.         $twig '@SearchPlus42/admin/ext_search.twig';
  48.         $event->addSnippet($twig);
  49.         $js '@SearchPlus42/admin/ext_search.js';
  50.         $event->addAsset($js);
  51.     }
  52.     public function onTemplateAdminProductItemEdit(TemplateEvent $event)
  53.     {
  54.         if(method_exists('Plugin\ProductPlus42\Entity\ProductItem''setSearchFlg')){
  55.             $twig '@SearchPlus42/admin/Product/ext_edit.twig';
  56.             $event->addSnippet($twig);
  57.             $js '@SearchPlus42/admin/Product/ext_edit.js';
  58.             $event->addAsset($js);
  59.         }
  60.     }
  61. }