Добрый день! Подскажите пожалуйста где находится функция или строка кода, который разделяет заказ если в корзине товары различных продавцов
Начинается все с groupProductsList
/app/Tygh/Shippings/Shippings.php
На данное время сделал возможность добавлять и размещать оптовику предзаказ. Есть еще 2 задачи. 1 задача разделить заказ если внутри есть товары в наличии и не в наличии. 2 задача возможность добавлять товары в наличии с не в наличии. Например если в товаре 10 в наличии, а оптовик хочет купить 15 то в корзину должна попасть 15 шт. Сейчас там стоит ограничение.
Как я понял за разделение заказов отвечает функция fn_place_suborders?
Вывод. Shippings::groupProductsList создает группы товаров где ключи массива являются company_id и по этому product_groups если больше 1 го создается 2 заказа. А что если примерно такое поле создать? Но по amount? По выполнении функции насколько повлияет?
Примерно сделал. Сделал класс где проверка происходит для создания product_groups. И через хук подключил на замену product_groups.
В принципе разделение работает. В своем классе сделал еще дополнение где идет проверка если пользователь положил количество больше чем количество товара то их тоже разделяет. Но столкнулся с одной проблемой. При добавлении функция fn_check_amount_in_stock блокирует добавление если количество в наличии больше 0. Нулевые все нормально добавляются. Пытаюсь разрешить через allow_negative_ammount. Если Y добавляет. Но когда заказываешь заказ не разделяется потому что все товары теперь выглядят как в наличии. Знатоки cscart подскажите как сделать так чтобы можно было добавить товары которые в наличии но можно добавить еще дополнительное количество. Но при этом все товары не должны показываться как в наличии. Чтобы разделять заказы.