Best Answer 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;
}
Go to the full post










