コード例 #1
0
 /**
  * @param AddToBasketRequest $request
  *
  * @throws \ChingShop\Modules\Sales\Domain\Payment\StockAllocationException
  *
  * @return \Illuminate\Http\RedirectResponse
  */
 public function addProductOptionAction(AddToBasketRequest $request)
 {
     $productOption = $this->optionRepository->loadById($request->optionId());
     try {
         $this->clerk->addProductOptionToBasket($productOption);
     } catch (StockAllocationException $e) {
         $this->webUi->warningMessage($e->getMessage());
         return $this->webUi->redirectAway($productOption->product->url());
     }
     $this->webUi->successMessage(sprintf('1 &#215; <strong>%s (%s)</strong> was added to your basket.', $productOption->product->name, $productOption->label));
     Analytics::trackEvent('basket', 'add', $productOption->product->sku, $productOption->label);
     return $this->webUi->redirect('sales.customer.basket');
 }
コード例 #2
0
 /**
  * @param int $optionId
  *
  * @return ProductOption
  */
 public function loadOptionById(int $optionId) : ProductOption
 {
     return $this->optionRepository->loadById($optionId);
 }