Значит, имеем товар с опциями. Ставим по 2, например, в каждую, пункт "Вычитать со склада - Да". Соответственно, чтобы товар был в каталоге и выводился как имеющийся в наличии (внимание! имеющийся в наличии! если товар не в наличии, т.е. = 0, то его попросту нельзя купить). Ставим количество 1, "Вычитать со склада - Нет". (предполагается, что вычитаться будет с товаров с опциями) Вроде ок? Иду на карточку товара, кладу товар 2 раза - сначала с одной опцией, потом с другой. Два раза мне успешно сообщается зеленым цветом что все добавлено в мою корзину!
Но когда я перехожу в Оформление товара, мне злобно сообщается что товара, отмеченные *** нет в наличии! :evil:
Ладно, думаю, наверное данные считаются из той самой форму, где количество указано 1. Лезу в админку, ставлю значение побольше. Ну, на всякий случай. И тогда все успешно получается. Оформляем заказ, оплачиваем, и все. :eek: Каазалось бы, на этом можно и возрадоваться до плеши. Но тут становится еще интереснее. Товар, уже как таковой, в наличии (по факту), не имеется. И в карточке товара действительно не имеется. Но значение Количество: 1000 в основном поле как была, так и осталась. А значит, товар в наличии. Так и пишет. Ну и в самой карточке товара тоже жесть полная. В опциях он не показывается, потому что в опциях все по нулям, а как бы купить все равно можно. Что используется у меня в коде, в данной ситуации. 1. Обычная проверка на наличие, того значения, что указана во вкладке Данные:
<?php if ($stock > 0) { ?>
... Выводим один блок, например, есть в наличии
<?php } else { ?>
... Выводим другой
<?php } ?>
По такому приницпу я вывожу кнопки, кстати. 2. Вывод остатка на складе для каждой опции (vqmod) - который собственно, и работает по прямому назначению (такому надо быть в сборке по дефолту), показывает сколько данного товара человек может положить в корзину без дьявольских ошибок.
3. Версия магазина, на удивление, ocStore 1.5.4.1 Итог, в чем заключается ошибка: Некорректная работа двух значений - основное количество и количество в опциях. Если в основное количество поставить = 0, т товар считается как не на складе и вообще нельзя заказать. Если ставить с запасом большое значение ( = 1000). то товар всегда будет в наличии. Данный товар не может иметь дополнительную опцию, т.к. его опция является основной. Т.е, есть айпад черный, есть айпад белый, если кончились черные и кончились белые, то неокрашенных айпадов нету в принципе. Должно ли как-то поле основного количества считаться автоматически, по сумме всех количеств в опциях? По логике - да, так и должно быть. То есть, если у меня 2 + 2, то в основное поле должно поставиться после нажатия "Сохранить" = 4. Ну, если, допустим 3 +1, то тоже = 4, здесь важно, что количество общее будет вычитаться, и как только достигнет нуля - то товар помечатеся как "Нет в наличии". Т.е. вообще нет никакой опции. Так-то он опции нормально считает при оформлении, хоть одного 10 шт, а второго 1 шт, он не даст добавить вторую опцию в 2 шт.
Это должно решить проблему, но вот так оно не происходит. Что делать и кто виноват?
(или может, уже есть решение для полного счасться, да я не вижу?)