Skynet Опубликовано 2 января, 2019 Жалоба Поделиться Опубликовано 2 января, 2019 (изменено) Добрый вечер, друзья! Сейчас у меня в движке настроено так, товар с нулевым остатком можно заказать (предзаказ), но когда на складе конкретное число, например 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); } } Изменено 2 января, 2019 пользователем Skynet Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 2 января, 2019 Жалоба Поделиться Опубликовано 2 января, 2019 все верно у вас убрано количество на складе поэтому и добавляет Цитата Ссылка на сообщение Поделиться на другие сайты
Skynet Опубликовано 2 января, 2019 Автор Жалоба Поделиться Опубликовано 2 января, 2019 все верно у вас убрано количество на складе поэтому и добавляет Да, но если я оставлю, то не будет добавляться товар с нулевым остатком. Можно ли условие откорректировать так, чтобы можно было товар добавлять с нулевым остатком, но в случает если у товара в админке указано конкретное количество на складе, не возможно было его добавить больше указанного количества на складе в корзину с витрины магазина? $amount = min($amount, $variant->stock); Цитата Ссылка на сообщение Поделиться на другие сайты
shooroop Опубликовано 2 января, 2019 Жалоба Поделиться Опубликовано 2 января, 2019 добавите новое поле у вариантов и от него пляшите Цитата Ссылка на сообщение Поделиться на другие сайты
chocolate_moles Опубликовано 2 января, 2019 Жалоба Поделиться Опубликовано 2 января, 2019 //$amount = min($amount, $variant->stock); замените на if($variant->stock >= 1) $amount = min($amount, $variant->stock); else $amount = 1; Цитата Ссылка на сообщение Поделиться на другие сайты
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.