Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

[Решено] Общее количество товара как сумма товаров в опциях


Maks

Recommended Posts

Для тех кто использует опции товара.

Когда заполняется товар, ему необходимо указать количество во вкладке "Данные", плюс в опциях. Зачем такая двойственность не понятно, особенно если учесть то что при продаже товара с определенной опцией, количество меняется и как в опциях так и в общей сумме количества товара.

На мой взгляд вопрос с точки зрения работы с SQL тривиальный, поэтому вопрос - Имеется ли модуль передающий количество товара из опций в общее количество?

Надіслати
Поділитися на інших сайтах


  • 4 months later...
  • 4 months later...

+1 странный момент, каждый раз сижу с калькулятором складываю :ugeek:

У меня почти у всех товаров есть опции.... столкнулась с такой проблемой, при редактировании заказа в админке (добавление или удаление товара) кол-во их на складе не меняется.

Т.е. вычитание происходит только при поступлении товара, а возврат обратно только при удалении всего заказа.

Может я уже чего накрутила в магазине, что все сломала, а у всех нормально работает. Не пойму куда смотреть, где исправлять, ошибок никаких не выдает версия 1.5.3.1.

Надіслати
Поділитися на інших сайтах


  • 2 years later...

Я решение нашел здесь: https://github.com/zenwalker/opencart-exchange1c/issues/14

 

 

Решилось правкой файла ocStore (у меня версия 1.5.5.1.1|) /admin/controller/catalog/product.php

Строка 441 сразу после private function getList() {
вставляем
$this->db->query("UPDATE oc_product AS p INNER JOIN (SELECT oc_product_option_value.product_id, SUM(oc_product_option_value.quantity) AS quantity_sum FROM oc_product_option_value GROUP BY oc_product_option_value.product_id) AS pov SET p.quantity=pov.quantity_sum WHERE p.product_id=pov.product_id");

В результате при открытии страницы "Товары" в админке ocStore происходит запрос к базе, суммирование количества в опциях и запись в столбец общего количества.

Проверялось только на товарах с одной характеристикой. Будет ли работать с несколькими - не знаю.

У меня (1.5.5.1.1) работает. Только строка не 441 как у автора, а 438.

Надіслати
Поділитися на інших сайтах


  • 1 year later...

Я решение нашел здесь: https://github.com/zenwalker/opencart-exchange1c/issues/14

 

У меня (1.5.5.1.1) работает. Только строка не 441 как у автора, а 438.

 

А какое решение для версии 2.Х???

Надіслати
Поділитися на інших сайтах


  • 2 years later...
В 01.04.2016 в 01:16, plokhotnuk сказал:

А какое решение для версии 2.Х???

Для Opencart 2.* решение может быть аналогичным.

В функции     

protected function getList() {

можно прописать вышеуказанный код 

$this->db->query("UPDATE oc_product AS p INNER JOIN (SELECT oc_product_option_value.product_id, SUM(oc_product_option_value.quantity) AS quantity_sum FROM oc_product_option_value GROUP BY oc_product_option_value.product_id) AS pov SET p.quantity=pov.quantity_sum WHERE p.product_id=pov.product_id");

Ориентировочно, это строка 227 в файле  /admin/controller/catalog/product.php

Но это "топорное решение", когда Вы в контроллер вставляете обработку через запрос SQL. Хотя и рабочее.

Змінено користувачем wegigant
Надіслати
Поділитися на інших сайтах


  • 4 months later...
  • 2 years later...
  • 2 years later...

Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
  • Зараз на сторінці   0 користувачів

    • Ні користувачів, які переглядиють цю сторінку

×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.