Остаток на складе и корзина

#
Остаток на складе и корзина
Здравствуйте. Использую количество товара на складе.
Можно как-то сделать чтобы пользователь не мог положить в корзину этих штук товаров больше, чем есть на складе?
Например, кол-во на складе: 2 шт. А пользователь в корзину кладет три. Можно ли сделать чтобы он больше двух в корзину не мог положить?

И еще вопрос: где можно отредактировать шаблоны писем, которые приходят клиентам с интернет-магазина?
Разработка высоконагруженных систем.
#
Re: Остаток на складе и корзина
Artemiy писал(а):
Можно ли сделать чтобы он больше двух в корзину не мог положить?
- да, можно. Перемещение товара в корзину осуществляется методом AddIntoCart(класса shop), который вызывается в коде настроек типовой динамической страницы "Интернет-магазин корзина". Вы можете перед вызовом метода добавить проверку: если количество товара(его идентификатор доступен в элементе массива $param['item_id']) на складах(количество на складах можно получить соответствующим методом класса shop) больше приобретаемого(оно доступно в переменной $item_add_count), то в метод AddIntoCart передавать запрошенное пользователем количество, иначе - столько, сколько его имеется на складах.

Artemiy писал(а):
где можно отредактировать шаблоны писем, которые приходят клиентам с интернет-магазина?
- в коде XSL-шаблона «ПисьмоПользователю»(в разделе «XSL-шаблоны» -> «Интернет-магазин» ).
#
Re: Остаток на складе и корзина
А как называется метод, который определяет количество на складах?
Разработка высоконагруженных систем.
#
Re: Остаток на складе и корзина
В методе GetItem ничего похожего на остаток на складе нет. Укажите, где искать его?
Разработка высоконагруженных систем.
#
Re: Остаток на складе и корзина
Artemiy, используйте метод GetItemCountForAllWarehouses класса warehouse.
#
Re: Остаток на складе и корзина
Спасибо. Наталья. А то я вчера весь класс shop перерыл в документации.
Разработка высоконагруженных систем.
#
Re: Остаток на складе и корзина
Artemiy, пожалуйста. После реализации складов в системе все, что связано с количеством товаров, обрабатывается методами именно класса warehouse.
#
Re: Остаток на складе и корзина
Ктото реализовал уже как написано в данной теме, если да, то поделитесь пошагово, что и где вписать, а то чтото не получается.
#
Re: Остаток на складе и корзина
kimlik писал(а):
Ктото реализовал уже как написано в данной теме, если да, то поделитесь пошагово, что и где вписать, а то что-то не получается.
+1 !!!
#
Re: Остаток на складе и корзина
Если прописать такое условие как написано выше, то количество товара добавляемого в корзину сровняется с количеством на складе и добавиться на складе. Но если радостный покупатель ещё раз ткнёт в корзинку, то туда ещё раз добавиться остаток на складе и в корзине будет товара больше чем на складе и он "проведётся" - пойдут минуса.
Единственный вариант, что если количество товара в корзине превышает количество товара на складе, в корзину вообще ничего не добавляется, пока покупатель не выберет количество равное иле меньшее складскому остатку.
В скрипте настроек корзины есть 3 места где товар добавляется - ищите по AddIntoCart. Перед этим во всех трёх местах пропишите:

//Проверяем, что заказано доступное на складе количество продукции
            $warehouse = & singleton('warehouse';
            if ($warehouse->GetItemCountForAllWarehouses($row['shop_items_catalog_item_id'])<$shop_order_items_quantity)
            {
               //$shop_order_items_quantity = GetItemCountForAllWarehouses($row['shop_items_catalog_item_id']);
               $shop_order_items_quantity = 0;
            }

Вообще както странно что в скрипте интернет магазина это не сделано по уолчанию ! ни одна программа учёта не считает в минус товарные остатки !
Авторизация