Лучший Ответ DMTR3000S , 30 June 2017 - 09:33
alekskomarov, из коробки такой возможности нет, но на свой страх и риск (делайте бэкапы!) можете попробовать следующее:
Откройте файл balance.php, который находится вот здесь:
/media/zoo/applications/jbuniversal/cart-elements/price/balance/
и найдите в нём функцию inStock:
public function inStock($quantity) { if (!$this->_isUseStock()) { return true; } $quantity = $this->app->jbvars->number($quantity); $inStock = $this->getValue(); if ($inStock == self::COUNT_AVAILABLE_YES) { return true; } elseif (($inStock == self::COUNT_AVAILABLE_NO) || ($inStock == self::COUNT_REQUEST)) { return false; } elseif ($inStock >= $quantity) { return true; } return false; }
замените false на true в этом условии:
elseif (($inStock == self::COUNT_AVAILABLE_NO) || ($inStock == self::COUNT_REQUEST)) { return false; }
Однако, стоит учитывать, что так у вас будут добавляться в корзину товары не только под заказ, но и с нулевым остатком, т.е. те, у которых указано "Нет в наличии". Чтобы разделить логику, внесите в функцию inStock, например, такие правки:
public function inStock($quantity) { if (!$this->_isUseStock()) { return true; } $quantity = $this->app->jbvars->number($quantity); $inStock = $this->getValue(); if ($inStock == self::COUNT_AVAILABLE_YES) { return true; } elseif ($inStock == self::COUNT_AVAILABLE_NO) { return false; } elseif ($inStock == self::COUNT_REQUEST) { return true; } } elseif ($inStock >= $quantity) { return true; } return false; }Перейти к сообщению