Exemple #1
0
 /**
  * Get Cart/Product From Request
  *
  * @param array $pluginSettings TypoScript Plugin Settings
  * @param Request $request Request
  * @param \Extcode\Cart\Domain\Model\Cart\TaxClass[] $taxClasses Tax Class Array
  *
  * @return \Extcode\Cart\Domain\Model\Cart\Product[]
  */
 public function getProductsFromRequest(array $pluginSettings, Request $request, array $taxClasses)
 {
     if (!$this->pluginSettings) {
         $this->pluginSettings = $pluginSettings;
     }
     if (!$this->taxClasses) {
         $this->taxClasses = $taxClasses;
     }
     $multiple = 1;
     if ($this->pluginSettings['multiple']) {
         $argumentName = $this->pluginSettings['multiple'];
         if ($request->hasArgument($argumentName)) {
             $multiple = intval($request->getArgument($argumentName));
         }
     }
     $products = [];
     $preCartProductSets = [];
     if ($multiple == 1) {
         $preCartProductSets[1] = $this->parserUtility->getPreCartProductSet($pluginSettings, $request);
     } else {
         // TODO: iterate over request
     }
     foreach ($preCartProductSets as $preCartProductSetKey => $preCartProductSetValue) {
         if ($preCartProductSetValue['contentId']) {
             $products[$preCartProductSetKey] = $this->getCartProductFromCE($preCartProductSetValue);
         } elseif ($preCartProductSetValue['productId']) {
             $products[$preCartProductSetKey] = $this->getCartProductFromDatabase($preCartProductSetValue);
         }
     }
     return $products;
 }
Exemple #2
0
 /**
  * Parse Data
  *
  * @return void
  */
 protected function parseData()
 {
     // parse all shippings
     $this->shippings = $this->parserUtility->parseServices('Shipping', $this->pluginSettings, $this->cart);
     // parse all payments
     $this->payments = $this->parserUtility->parseServices('Payment', $this->pluginSettings, $this->cart);
     // parse all specials
     $this->specials = $this->parserUtility->parseServices('Special', $this->pluginSettings, $this->cart);
 }