function itemsInfo() { $basketInfo = array(); // Build a price summary for the items based on VAT. foreach ($this->items() as $item) { $vatValue = $item['vat_value']; $itemCount = abs($item['item_count']); $priceExVAT = $item['price_ex_vat']; $priceIncVAT = $item['price_inc_vat']; $totalPriceExVAT = $item['total_price_ex_vat']; $totalPriceIncVAT = $item['total_price_inc_vat']; if (!isset($basketInfo['price_info'][$vatValue]['price_ex_vat'])) { $basketInfo['price_info'][$vatValue]['price_ex_vat'] = $priceExVAT * $itemCount; $basketInfo['price_info'][$vatValue]['price_inc_vat'] = $priceIncVAT * $itemCount; $basketInfo['price_info'][$vatValue]['price_vat'] = ($priceIncVAT - $priceExVAT) * $itemCount; $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] = $totalPriceExVAT; $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] = $totalPriceIncVAT; $basketInfo['price_info'][$vatValue]['total_price_vat'] = $totalPriceIncVAT - $totalPriceExVAT; } else { $basketInfo['price_info'][$vatValue]['price_ex_vat'] += $priceExVAT * $itemCount; $basketInfo['price_info'][$vatValue]['price_inc_vat'] += $priceIncVAT * $itemCount; $basketInfo['price_info'][$vatValue]['price_vat'] += ($priceIncVAT - $priceExVAT) * $itemCount; $basketInfo['price_info'][$vatValue]['total_price_ex_vat'] += $totalPriceExVAT; $basketInfo['price_info'][$vatValue]['total_price_inc_vat'] += $totalPriceIncVAT; $basketInfo['price_info'][$vatValue]['total_price_vat'] += $totalPriceIncVAT - $totalPriceExVAT; } if (!isset($basketInfo['total_price_info']['total_price_ex_vat'])) { $basketInfo['total_price_info']['price_ex_vat'] = $priceExVAT * $itemCount; $basketInfo['total_price_info']['price_inc_vat'] = $priceIncVAT * $itemCount; $basketInfo['total_price_info']['price_vat'] = ($priceIncVAT - $priceExVAT) * $itemCount; $basketInfo['total_price_info']['total_price_ex_vat'] = $totalPriceExVAT; $basketInfo['total_price_info']['total_price_inc_vat'] = $totalPriceIncVAT; $basketInfo['total_price_info']['total_price_vat'] = $totalPriceIncVAT - $totalPriceExVAT; } else { $basketInfo['total_price_info']['price_ex_vat'] += $priceExVAT * $itemCount; $basketInfo['total_price_info']['price_inc_vat'] += $priceIncVAT * $itemCount; $basketInfo['total_price_info']['price_vat'] += ($priceIncVAT - $priceExVAT) * $itemCount; $basketInfo['total_price_info']['total_price_ex_vat'] += $totalPriceExVAT; $basketInfo['total_price_info']['total_price_inc_vat'] += $totalPriceIncVAT; $basketInfo['total_price_info']['total_price_vat'] += $totalPriceIncVAT - $totalPriceExVAT; } } // Add shipping cost to the total items price and add / update additional price information. $productCollectionID = $this->attribute('productcollection_id'); // Add additional calculated information to the basketInfo array, that can be used in the template. $shippingUpdateStatus = eZShippingManager::updatePriceInfo($productCollectionID, $basketInfo); ksort($basketInfo['price_info']); return $basketInfo; }