1.Вам нужно в БД изменить тип данных oc_cart поля quantity на decimal (n,d) *n-кол-во значений перед запятой; *d-кол-во значений после запятой
1.1 product, product_option_value, product_discount, order_product везде менять тип данных полей quantity на decimal (n,d)
2. /system/library/cart.php заменяете (int)$quantity на $quantity
3. /admin/model/catalog/product.php - замены
(int)$data['quantity'] на $data['quantity']
(int)$product_option_value['quantity'] на $product_option_value['quantity']
(int)$product_discount['quantity'] на $product_discount['quantity']
(int)$data['minimum'] на $data['minimum']
4. /catalog/model/checkout/order.php - замены
(int)$product['quantity'] на $product['quantity'] (все)
(int)$order_product['quantity'] на $order_product['quantity']
5./catalog/controller/checkout/cart.php здесь делаем замены
в функции public function add() находим блок
if ($product_info) {
if (isset($this->request->post['quantity']) && ((int)$this->request->post['quantity'] >= $product_info['minimum'])) {
$quantity = (int)$this->request->post['quantity'];
} else {
$quantity = $product_info['minimum'] ? $product_info['minimum'] : 1;
}
заменяем на
if ($product_info) {
if (isset($this->request->post['quantity']) && ($this->request->post['quantity'] >= $product_info['minimum'])) {
$quantity = $this->request->post['quantity'];
} else {
$quantity = $product_info['minimum'] ? $product_info['minimum'] : 1;
}