예제 #1
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);
 }
예제 #2
0
 /**
  * Creates a new cart
  *
  * @param array $cartSettings TypoScript Cart Settings
  * @param array $pluginSettings TypoScript Plugin Settings
  *
  * @return \Extcode\Cart\Domain\Model\Cart\Cart
  */
 public function getNewCart(array $cartSettings, array $pluginSettings)
 {
     $isNetCart = intval($cartSettings['isNetCart']) == 0 ? false : true;
     $taxClasses = $this->parserUtility->parseTaxClasses($pluginSettings);
     $cart = new \Extcode\Cart\Domain\Model\Cart\Cart($taxClasses, $isNetCart);
     $shippings = $this->parserUtility->parseServices('Shipping', $pluginSettings, $cart);
     foreach ($shippings as $shipping) {
         /**
          * Shipping
          * @var \Extcode\Cart\Domain\Model\Shipping $shipping
          */
         if ($shipping->getIsPreset()) {
             if (!$shipping->isAvailable($cart->getGross())) {
                 $fallBackId = $shipping->getFallBackId();
                 $shipping = $this->getServiceById($shippings, $fallBackId);
             }
             $cart->setShipping($shipping);
             break;
         }
     }
     $payments = $this->parserUtility->parseServices('Payment', $pluginSettings, $cart);
     foreach ($payments as $payment) {
         /**
          * Payment
          * @var \Extcode\Cart\Domain\Model\Payment $payment
          */
         if ($payment->getIsPreset()) {
             if (!$payment->isAvailable($cart->getGross())) {
                 $fallBackId = $payment->getFallBackId();
                 $payment = $this->getServiceById($payments, $fallBackId);
             }
             $cart->setPayment($payment);
             break;
         }
     }
     return $cart;
 }