/** * 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); }
/** * 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; }