function updatePriceInfo($productCollectionID, &$basketInfo) { $shippingInfo = eZShippingManager::getShippingInfo($productCollectionID); $additionalShippingValues = eZShippingManager::vatPriceInfo($shippingInfo); $returnValue = false; foreach ($additionalShippingValues['shipping_vat_list'] as $vatValue => $additionalShippingValueArray) { $shippingExVAT = $additionalShippingValueArray['shipping_ex_vat']; $shippingIncVAT = $additionalShippingValueArray['shipping_inc_vat']; $shippingVat = $additionalShippingValueArray['shipping_vat']; if (!isset($basketInfo['price_info'][$vatValue]['total_price_ex_vat'])) { $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] = $shippingExVAT; $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] = $shippingIncVAT; $basketInfo['price_info'][$vatValue]['total_price_vat'] = $shippingVat; $basketInfo['total_price_info']['total_price_ex_vat'] = $shippingExVAT; $basketInfo['total_price_info']['total_price_inc_vat'] = $shippingIncVAT; $basketInfo['total_price_info']['total_price_vat'] = $shippingVat; } else { $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] += $shippingExVAT; $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] += $shippingIncVAT; $basketInfo['price_info'][$vatValue]['total_price_vat'] += $shippingVat; $basketInfo['total_price_info']['total_price_ex_vat'] += $shippingExVAT; $basketInfo['total_price_info']['total_price_inc_vat'] += $shippingIncVAT; $basketInfo['total_price_info']['total_price_vat'] += $shippingVat; } if (!isset($basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'])) { $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'] = $shippingExVAT; $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_inc_vat'] = $shippingIncVAT; $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_vat'] = $shippingIncVAT - $shippingExVAT; } else { $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_ex_vat'] += $shippingExVAT; $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_inc_vat'] += $shippingIncVAT; $basketInfo['additional_info']['shipping_items'][$vatValue]['total_price_vat'] += $shippingIncVAT - $shippingExVAT; } if (!isset($basketInfo['additional_info']['shipping_total']['total_price_ex_vat'])) { $basketInfo['additional_info']['shipping_total']['total_price_ex_vat'] = $shippingExVAT; $basketInfo['additional_info']['shipping_total']['total_price_inc_vat'] = $shippingIncVAT; $basketInfo['additional_info']['shipping_total']['total_price_vat'] = $shippingIncVAT - $shippingExVAT; } else { $basketInfo['additional_info']['shipping_total']['total_price_ex_vat'] += $shippingExVAT; $basketInfo['additional_info']['shipping_total']['total_price_inc_vat'] += $shippingIncVAT; $basketInfo['additional_info']['shipping_total']['total_price_vat'] += $shippingIncVAT - $shippingExVAT; } } if (count($additionalShippingValues['shipping_vat_list']) > 0) { $returnValue = true; } return $returnValue; }
$basket = eZBasket::currentBasket(); $tpl = eZTemplate::factory(); if (isset($Params['Error'])) { $tpl->setVariable('error', $Params['Error']); if ($Params['Error'] == 'options') { $tpl->setVariable('error_data', $http->sessionVariable('BasketError')); $http->removeSessionVariable('BasketError'); } } $tpl->setVariable("removed_items", $removedItems); $tpl->setVariable("basket", $basket); $tpl->setVariable("module_name", 'shop'); $tpl->setVariable("vat_is_known", $basket->isVATKnown()); // Add shipping cost to the total items price and store the sum to corresponding template vars. $shippingInfo = eZShippingManager::getShippingInfo($basket->attribute('productcollection_id')); if ($shippingInfo !== null) { // to make backwards compability with old version, allways set the cost inclusive vat. if (isset($shippingInfo['is_vat_inc']) and $shippingInfo['is_vat_inc'] == 0 or !isset($shippingInfo['is_vat_inc'])) { $additionalShippingValues = eZShippingManager::vatPriceInfo($shippingInfo); $shippingInfo['cost'] = $additionalShippingValues['total_shipping_inc_vat']; $shippingInfo['is_vat_inc'] = 1; } $totalIncShippingExVat = $basket->attribute('total_ex_vat') + $shippingInfo['cost']; $totalIncShippingIncVat = $basket->attribute('total_inc_vat') + $shippingInfo['cost']; $tpl->setVariable('shipping_info', $shippingInfo); $tpl->setVariable('total_inc_shipping_ex_vat', $totalIncShippingExVat); $tpl->setVariable('total_inc_shipping_inc_vat', $totalIncShippingIncVat); } $Result = array(); $Result['content'] = $tpl->fetch("design:shop/basket.tpl"); $Result['path'] = array(array('url' => false, 'text' => ezpI18n::tr('kernel/shop', 'Basket')));