Перейти к содержанию
lastrong

Обнаружен баг с опциями и количеством

Рекомендуемые сообщения

Значит, имеем товар с опциями. Ставим по 2, например, в каждую, пункт "Вычитать со склада - Да".
 
a0eb508d1906785d1b5fd3c85aaa991b.gif
 
 
Соответственно, чтобы товар был в каталоге и выводился как имеющийся в наличии (внимание! имеющийся в наличии! если товар не в наличии, т.е. = 0, то его попросту нельзя купить). Ставим количество 1, "Вычитать со склада - Нет". (предполагается, что вычитаться будет с товаров с опциями)
 
a421ede50af9db8f6ee652d01c94ca62.gif
 
Вроде ок? Иду на карточку товара, кладу товар 2 раза - сначала с одной опцией, потом с другой. Два раза мне успешно сообщается зеленым цветом что все добавлено в мою корзину!
 
20d9796c89e4fe1e64250bb2c4b0239b.gif

 

 

Но когда я перехожу в Оформление товара, мне злобно сообщается что товара, отмеченные *** нет в наличии! :evil:
 

 

6ab4666861051d16983922e089f8f24c.gif
 
Ладно, думаю, наверное данные считаются из той самой форму, где количество указано 1. Лезу в админку, ставлю значение побольше. Ну, на всякий случай.
 
116d023105679b6e72131e1f4ade1d26.gif
 
И тогда все успешно получается. Оформляем заказ, оплачиваем, и все. :eek:
 
3829f7acc8198879a56cc9c2e8340aec.gif
 
Каазалось бы, на этом можно и возрадоваться до плеши. Но тут становится еще интереснее. Товар, уже как таковой, в наличии (по факту), не имеется. И в карточке товара действительно не имеется.
 
5c9fe82ef44a432bb8c2176d65b022da.gif
 
Но значение Количество: 1000 в основном поле как была, так и осталась. А значит, товар в наличии. Так и пишет.
 
8970fdd5d5ddae47c2656da7fdf07339.gif
 
 
Ну и в самой карточке товара тоже жесть полная. В опциях он не показывается, потому что в опциях все по нулям, а как бы купить все равно можно.
 
2fe421a67bcd72876408d5e367f66ad4.gif
 
 
 
Что используется у меня в коде, в данной ситуации.
 
1. Обычная проверка на наличие, того значения, что указана во вкладке Данные:
 

<?php if ($stock > 0) { ?>
... Выводим один блок, например, есть в наличии
<?php } else { ?>
... Выводим другой
<?php } ?>

 
По такому приницпу я вывожу кнопки, кстати.
 
edc7cf47c95ebbb2876f03ce0e96f223.gif
 
 
2. Вывод остатка на складе для каждой опции (vqmod) - который собственно, и работает по прямому назначению (такому надо быть в сборке по дефолту), показывает сколько данного товара человек может положить в корзину без дьявольских ошибок.
 

3. Версия магазина, на удивление, ocStore 1.5.4.1
 
Итог, в чем заключается ошибка: Некорректная работа двух значений - основное количество и количество в опциях. Если в основное количество поставить = 0, т товар считается как не на складе и вообще нельзя заказать. Если ставить с запасом большое значение ( = 1000). то товар всегда будет в наличии.
 
Данный товар не может иметь дополнительную опцию, т.к. его опция является основной. Т.е, есть айпад черный, есть айпад белый, если кончились черные и кончились белые, то неокрашенных айпадов нету в принципе.
 
Должно ли как-то поле основного количества считаться автоматически, по сумме всех количеств в опциях? По логике - да, так и должно быть. То есть, если у меня 2 + 2, то в основное поле должно поставиться после нажатия "Сохранить" = 4. Ну, если, допустим 3 +1, то тоже = 4, здесь важно, что количество общее будет вычитаться, и как только достигнет нуля - то товар помечатеся как "Нет в наличии". Т.е. вообще нет никакой опции. Так-то он опции нормально считает при оформлении, хоть одного 10 шт, а второго 1 шт, он не даст добавить вторую опцию в 2 шт.

 

Это должно решить проблему, но вот так оно не происходит. Что делать и кто виноват?

 

(или может, уже есть решение для полного счасться, да я не вижу?)

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

нет.

изначальная цель "опций" - предоставление покупателю выбора, например упаковки - "подарочная упаковка", "картонная коробка".

дальнейшее их "развитие" довольно смутное.

 

хотите, чтобы считалось кол-во товаров по кол-ву "опций"? - дорабатывайте магазин для пересчета "основного кол-ва" при изменении "кол-ва в опциях".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Огромный выбор опций (селект, радиобаттон, чекбоксы итд) с не менее огромным выбором настроек (цена, баллы, вес), и все ради того, чтоб выбрать в пакетик мне завернуть или бантиком повязать. Более 100500 магазинов по всему рунету ставят OpenCart (& ocStore) и торгуют всем подряд - начиная от ботинок с выбором цвета и размера.

ea7cd50db0e80ff448ac7fe45929d400.gif

Если это так, то это, конечно, жесть полная. Неужели никого из владельцев и админов данного магазина эта проблема не интересует? Или все торгуют нелимитированным товаром, тысячами выставляя наличие, где учет товаров безразличен. Или все ставят ocStore на попробовать, а потом покупают какойнибудь CS Cart? Пока что единственный выход - раскидать по отдельным карточкам все опции. Дорабатывать, конечно, лучший вариант, но не на "скорую руку" :-(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

lastrong сказал(а) 01 Июн 2013 - 21:10:

Это должно решить проблему, но вот так оно не происходит. Что делать и кто виноват?

Правильно инициализировать общее кол-во (= сумме всех опций).

Дальше всё правильно работает.

Да, оно разделено (для поддержки товаров как с опциями, так и без).

Почему? Тоже можно понять причину дублирования - чтобы не было подзапросов с суммированием опций и условий, есть у товара опции или нет.

Да, работает не очень удобно. Возможно, в админке стоило бы автопересчёт какой-то делать: если есть опции со своими количествами, исправлять общее кол-во товара.

Нет, не особенно сильно волнует. Или непонятно, как сделать лучше. Товарный учёт в опенкарт обрезанный и неполный. Знаете, как лучше сделать - опишите полный алгоритм работы, может его кто-то для вас/себя/сообщества реализует.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу

×

Важная информация

На нашем сайте используются файлы cookie и происходит обработка некоторых персональных данных пользователей, чтобы улучшить пользовательский интерфейс. Чтобы узнать для чего и какие персональные данные мы обрабатываем перейдите по ссылке. Если Вы нажмете «Я даю согласие», это означает, что Вы понимаете и принимаете все условия, указанные в этом Уведомлении о Конфиденциальности.