protected function getTotalPrices() { $array = array(); $suppliers = Supplier::getSuppliers(); foreach ($suppliers as $key => $supplier) { $wholesale_price = 0; $price = 0; $nb_items = count($this->_list); for ($i = 0; $i < $nb_items; ++$i) { $item =& $this->_list[$i]; $wholesale_price += ErpProductSupplier::getProductPrice($supplier['id_supplier'], $item['id_product'], $item['id_product_attribute']) * $item['physical_quantity']; $price += $item['price'] * $item['physical_quantity']; } $array[$key]['name'] = $supplier['name']; $array[$key]['id'] = $supplier['id_supplier']; $array[$key]['wholesale_price'] = $wholesale_price; } // add default purchase price $array[$key + 1]['name'] = $this->l('Base price'); $array[$key + 1]['id'] = -1; $wholesale_price = 0; for ($i = 0; $i < $nb_items; ++$i) { $item =& $this->_list[$i]; // In case of display stock management desactivated: we do not take in account the products displayed while they have attributes (quantities = --) if ($item['quantity'] != '--') { $wholesale_price += ErpStock::getWholesalePrice($item['id_product'], $item['id_product_attribute']); } } $array[$key + 1]['wholesale_price'] = $wholesale_price; $this->context->smarty->assign(array('suppliers_prices' => (array) $array, 'price' => round($price, 2))); }