- Автор темы
- #11
Вобщем смысл такой: Человек может заказать товар с кол-ом превышающим остаток на складе (например, на складе 5 шт., заказ на 10 шт. или на складе 0 шт., заказ на 10 шт.). Соответственно разница между заказом и остатком оформляется под заказ.
Когда товар находится в корзине или на стадии оформления заказа, его кол-во на складе остается прежним, но как только человек нажал кнопку "Оформить заказ" на 5-ой последней стадии оформления заказа, то со склада списывается (вычитается) кол-во товара в заказе. Из этого вытекает 2 ситуации рассчета разницы кол-ва (под заказ
1. Разница в корзине или на стадии оформления заказа (до списания).
2. Разница в заказе или уведомлении о заказе (после списания).
В первой ситуации все просто - высчитывается разница, присваивается переменной, помещается в массив cart_content и передается в шаблон. ВСЕ!
А вот во второй ситуации чуть посложнее. Там, если просто вычесть из заказанного кол-ва кол-во на складе, получится ерунда, потому что товар уже списался и вычитать мы будем уже именно остаток после списания. Вытекает задача, надо высчитыва или товар на складе ДО списания, но это как мне кажется не реально, потому что такая функция будет все равно вызыватся после списания, или вычитать ПРАВИЛЬНО из остатка после списания, что я и сделал.
А к вопросу почему у меня не получалось вывесть в уведомлении - да потому что я пытался брать значения этой разницы из сессии корзины и оформления заказа, а т.к. это делалось после оформления заказа, то получалось что эта сессия уже пустая (товар ведь не висит больше в корзине). Вот нам и ничего и не писалось...
Но это полбеды оказалось. Все это с уведомлениями получилось понапрасну, т.к. мне надо чтобы эта разница была еще и в админке, а там все берется из бд, т.е. и разницу надо заносить в бд, но это решаемо. А без бд реально не обойтись, т.к. если без нее, то тогда если был 1 заказ с разницей в кол-ве, то будешь видеть все нормально в админке, НО если после этого заказа был 2-ой и т.д. заказ с разницей в кол-ве этого же товара, то в первом заказе разница будет периодически высчитыватся заново и рез-т будет все время разным.
Так что эта проблема решена, буду решать следующую...
ВОТ ТАКИЕ ПИРОГИ...
Если впринципе тебе это все актуально, то чуть позже могу дать всю эту затею, а затеял это все чтобы можно было заказывать товар которого нет на складе, т.е. "ПОД ЗАКАЗ"
Когда товар находится в корзине или на стадии оформления заказа, его кол-во на складе остается прежним, но как только человек нажал кнопку "Оформить заказ" на 5-ой последней стадии оформления заказа, то со склада списывается (вычитается) кол-во товара в заказе. Из этого вытекает 2 ситуации рассчета разницы кол-ва (под заказ
1. Разница в корзине или на стадии оформления заказа (до списания).
2. Разница в заказе или уведомлении о заказе (после списания).
В первой ситуации все просто - высчитывается разница, присваивается переменной, помещается в массив cart_content и передается в шаблон. ВСЕ!
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
А вот во второй ситуации чуть посложнее. Там, если просто вычесть из заказанного кол-ва кол-во на складе, получится ерунда, потому что товар уже списался и вычитать мы будем уже именно остаток после списания. Вытекает задача, надо высчитыва или товар на складе ДО списания, но это как мне кажется не реально, потому что такая функция будет все равно вызыватся после списания, или вычитать ПРАВИЛЬНО из остатка после списания, что я и сделал.
Для просмотра скрытого содержимого вы должны войти или зарегистрироваться.
А к вопросу почему у меня не получалось вывесть в уведомлении - да потому что я пытался брать значения этой разницы из сессии корзины и оформления заказа, а т.к. это делалось после оформления заказа, то получалось что эта сессия уже пустая (товар ведь не висит больше в корзине). Вот нам и ничего и не писалось...
Но это полбеды оказалось. Все это с уведомлениями получилось понапрасну, т.к. мне надо чтобы эта разница была еще и в админке, а там все берется из бд, т.е. и разницу надо заносить в бд, но это решаемо. А без бд реально не обойтись, т.к. если без нее, то тогда если был 1 заказ с разницей в кол-ве, то будешь видеть все нормально в админке, НО если после этого заказа был 2-ой и т.д. заказ с разницей в кол-ве этого же товара, то в первом заказе разница будет периодически высчитыватся заново и рез-т будет все время разным.
Так что эта проблема решена, буду решать следующую...
ВОТ ТАКИЕ ПИРОГИ...
Если впринципе тебе это все актуально, то чуть позже могу дать всю эту затею, а затеял это все чтобы можно было заказывать товар которого нет на складе, т.е. "ПОД ЗАКАЗ"