Skynet Posted January 2, 2019 Report Share Posted January 2, 2019 (edited) Добрый вечер, друзья! Сейчас у меня в движке настроено так, товар с нулевым остатком можно заказать (предзаказ), но когда на складе конкретное число, например 1 шт., то при добавлении товара два или три раза в корзину с остатком 1 шт., товар добавляется больше 1 шт. Подскажите пожалуйста, как можно откорректировать условие в api\Cart.php, чтобы можно было товар добавлять с нулевым остатком, но в случает если в админке указано конкретное число на складе, не возможно было его добавить в корзину с витрины магазина? api\Cart.php /* * * Добавление варианта товара в корзину * */ public function add_item($variant_id, $amount = 1) { $amount = max(1, $amount); if(isset($_SESSION['shopping_cart'][$variant_id])) $amount = max(1, $amount+$_SESSION['shopping_cart'][$variant_id]); // Выберем товар из базы, заодно убедившись в его существовании $variant = $this->variants->get_variant($variant_id); // Если товар существует, добавим его в корзину if(!empty($variant)) { // Не дадим больше чем на складе //$amount = min($amount, $variant->stock); $_SESSION['shopping_cart'][$variant_id] = intval($amount); } } Edited January 2, 2019 by Skynet Quote Link to post Share on other sites
shooroop Posted January 2, 2019 Report Share Posted January 2, 2019 все верно у вас убрано количество на складе поэтому и добавляет Quote Link to post Share on other sites
Skynet Posted January 2, 2019 Author Report Share Posted January 2, 2019 все верно у вас убрано количество на складе поэтому и добавляет Да, но если я оставлю, то не будет добавляться товар с нулевым остатком. Можно ли условие откорректировать так, чтобы можно было товар добавлять с нулевым остатком, но в случает если у товара в админке указано конкретное количество на складе, не возможно было его добавить больше указанного количества на складе в корзину с витрины магазина? $amount = min($amount, $variant->stock); Quote Link to post Share on other sites
shooroop Posted January 2, 2019 Report Share Posted January 2, 2019 добавите новое поле у вариантов и от него пляшите Quote Link to post Share on other sites
chocolate_moles Posted January 2, 2019 Report Share Posted January 2, 2019 //$amount = min($amount, $variant->stock); замените на if($variant->stock >= 1) $amount = min($amount, $variant->stock); else $amount = 1; Quote Link to post Share on other sites
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.