Приветствую. Столкнулся с неприятной проблемой. Была необходимость добавить в магазин налог. +10% для одной группы и +20% для другой.
Ремарка: в настройках системы 2 знака после запятой.
Как считает OpenCart: стоимость товара в базе 0,48, налог 20%. 0,48 + 20% = 0,576 и тут, казалось бы в настройках два знака и нужно округлить, но система берет эти 0,576 умножает на 8 единиц товара (клиент заказывает 8 единиц товара) 0,576 * 8 = 4,608 и тут он округляет до 4,61. Выходит товар за 0,58 * 8 штук = 4,61, берем калькулятор 0,58*8=4,64.
Решил это с помощью round до двух знаков в контроллерах карточки и налога и вроде всё ок, только остался заказ в просмотре админки и там все суммы, именно поле всего, когда товаров несколько сначала умножаются на налог и потом только округляются.
Сам вопрос, вот массив из файла order.php, который выводит данные цифры, я думаю, что это данный массив
<?
'price' => $this->currency->format($product['price'] + ($this->config->get('config_tax') ? $product['tax'] : 0), $order_info['currency_code'], $order_info['currency_value']),
'total' => $this->currency->format($product['total'] + ($this->config->get('config_tax') ? $product['tax'] * $product['quantity'] : 0), $order_info['currency_code'], $order_info['currency_value']),
Так вот, как мне округлить стоимость товара после добавления налога до того, как просчитается сумма? Вставка round сюда не приносит результата, я так понимаю эта конструкция , format($product['price'] + ($this->config->get('config_tax') мне нужна. Саму функцию format файла curency смотрел, не то, куда копать?