src/Front/Modules/OnlineService/Controller/OnlineServiceController.php line 31

  1. <?php
  2. namespace App\Front\Modules\OnlineService\Controller;
  3. use App\Front\Controller\BaseController;
  4. use App\Admin\Modules\OnlineService\Entity\OnlineService;
  5. use App\Front\Modules\Cart\Service\CartService;
  6. use App\Front\Modules\OnlineService\Service\OnlineServiceService;
  7. class OnlineServiceController extends BaseController
  8. {
  9.     private $_onlineServiceService;
  10.     private $_cartService;
  11.     
  12.     public function __construct(
  13.             OnlineServiceService $onlineServiceService,
  14.             CartService $cartService)
  15.     {
  16.         $this->_onlineServiceService $onlineServiceService;
  17.         $this->_cartService $cartService;
  18.     }
  19.     
  20.     public function index()
  21.     {
  22.         return $this->render('Front/Modules/OnlineService/Templates/OnlineService/index.html.twig', [
  23.             'data' => $this->_onlineServiceService->getServiceListData()
  24.         ]);
  25.     }
  26.     
  27.     private static $_addToCartButtonWidgetJSLoaded;
  28.     public function addToCartButtonWidget(OnlineService $service)
  29.     {
  30.         $cartData $this->_cartService->getDetails();
  31.         
  32.         $inCart = isset($cartData['items'][CartService::ITEM_TYPE_ONLINE_SERVICE '_' $service->getId()]);
  33.         
  34.         if (!$inCart)
  35.         {
  36.             $loadJS = !self::$_addToCartButtonWidgetJSLoaded;
  37.             self::$_addToCartButtonWidgetJSLoaded true;
  38.         }
  39.         else
  40.             $loadJS false;
  41.         
  42.         return $this->render('Front/Modules/OnlineService/Templates/OnlineService/partials/addToCartButtonWidget.html.twig', [
  43.             'service' => $service,
  44.             'inCart' => $inCart,
  45.             'loadJS' => $loadJS
  46.         ]);        
  47.     }    
  48. }