Как продавать весовой товар в Opencart 2.x
Хотите продавать весовой товар в Opencart 2.x? Это будет сложно, ведь по умолчанию в Opencart количество можно менять только в целых числах. Но можно сделать ряд правок в системных файлах и тогда количество товара можно будет задавать в десятичных значениях, например 1.5 или 0.250
Для реализации этого нужно сделать такие замены в следующих файлах:
system/library/cart.php
(int)$qty -> (float)$qty
admin/model/catalog/product.php
(int)$data['quantity'] -> (float)$data['quantity']
(int)$product_option_value['quantity'] -> (float)$product_option_value['quantity']
(int)$product_discount['quantity'] -> (float)$product_discount['quantity']
admin/model/sale/order.php
(int)$order_product['quantity'] -> (float)$order_product['quantity']
(int)($download['remaining'] * $product['quantity']
-> (float)($download['remaining'] * (float)$product['quantity']
(int)$return_product['quantity'] -> (float)$return_product['quantity']
(int)$product['quantity'] -> (float)$product['quantity']
catalog/model/checkout/order.php
(int)$product['quantity'] -> (float)$product['quantity']
(int)($download['remaining'] * $product['quantity']
-> (float)($download['remaining'] * (float)$product['quantity']
(int)$order_product['quantity'] -> (float)$order_product['quantity']
А также выполнить SQL-запрос в базе данных
ALTER TABLE `oc_roduct` CHANGE `quantity` `quantity` DECIMAL( 6, 2 ) NOT NULL ;
ALTER TABLE `oc_product` CHANGE `minimum` `minimum` DECIMAL( 6, 2 ) NOT NULL ;
ALTER TABLE `oc_order_product` CHANGE `quantity` `quantity` DECIMAL( 6, 2 ) NOT NULL ;
Популярные модули Opencart 2