app/Plugin/EccubePaymentLite4/EventListener/EventSubscriber/Front/Shopping/HideAddDeliveryBtnEventSubscriber.php line 20

Open in your IDE?
  1. <?php
  2. namespace Plugin\EccubePaymentLite4\EventListener\EventSubscriber\Front\Shopping;
  3. use Eccube\Entity\Master\SaleType;
  4. use Eccube\Entity\Order;
  5. use Eccube\Entity\Shipping;
  6. use Eccube\Event\TemplateEvent;
  7. use Symfony\Component\EventDispatcher\EventSubscriberInterface;
  8. class HideAddDeliveryBtnEventSubscriber implements EventSubscriberInterface
  9. {
  10.     public static function getSubscribedEvents()
  11.     {
  12.         return [
  13.             'Shopping/index.twig' => 'index',
  14.         ];
  15.     }
  16.     public function index(TemplateEvent $templateEvent)
  17.     {
  18.         /** @var Order $Order */
  19.         $Order $templateEvent->getParameter('Order');
  20.         /** @var Shipping $Shipping */
  21.         $Shipping $Order->getShippings()->first();
  22.         /** @var SaleType $SaleType */
  23.         $SaleType $Shipping->getDelivery()->getSaleType();
  24.         if ($SaleType->getName() === '定期商品') {
  25.             $templateEvent->addSnippet('@EccubePaymentLite4/default/Shopping/hide_add_delivery_btn.twig');
  26.         }
  27.     }
  28. }