К сожалению в движке Shop Script 8 не реализован функционал дробных чисел в стандартном исполнении. Более того, нет работающих плагинов, которые бы могли решить этот вопрос. А ведь менять количество товара в дробных величинах бывает нужно достаточно часто, например для покупки продуктов.
Решить данную задачу можно частично немного подправив код самого движка. В этом материале мы расскажем, как это сделать. Но здесь есть некоторые нюансы. После принудительного обновления движка настройки, которые вы сделаете в файлах слетят и придется все делать заново. Это проблема на самом деле не очень большая, так как нам нужно изменить только один файл.
А вот вторая проблема более глобальная. Некоторые плагины теоретически могут не корректно работать с нововведениями. Однако нашей студией был сделан сайт, где все работает корректно и на стадии оформления заказа в корзине и при отправке писем пользователю и админу. Все рассчитывается корректно: цена/количество.
И третий нюанс - если вы загружаете товары из 1С, то у вас используются остатки товаров. С этими изменениями остатки будут некорректными. Дробные товары будут округляться до целого значения. Но для простых магазинов, в которых остатки вообще не учитываются - это не проблема.
Если у вас не получится разобраться с кодом или просто сделать по инструкции ниже, вы можете оставить заявку онлайн и мы можем вам помочь за скромное вознаграждение.
Инструкция (взята с форума webasyst.ru)
1. Заменить в 13 строке int на float в файле /wa-apps/shop/lib/actions/frontend/shopFrontendCartSave.controller.php
2. Поменять в бд
- shop_order_items > тип поля quantity на double 10,1
- shop_cart_items > тип поля quantity на double 10,1