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

Списание опции для всех товаров


7up

Recommended Posts

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

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

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

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


Проблема с вычитанием опций решена слегка изменив запрос:

$order_option_query = $this->db->query("SELECT * FROM " . DB_PREFIX . "order_option JOIN product_option_value ON order_option.product_option_value_id = product_option_value.product_option_value_id WHERE order_id = '" . (int)$order_id . "' AND order_product_id = '" . (int)$order_product['order_product_id'] . "'");

foreach ($order_option_query->rows as $option) {

$this->db->query("UPDATE " . DB_PREFIX . "product_option_value SET quantity = (quantity - " . (int)$order_product['quantity'] . ") WHERE option_value_id = '" . (int)$option['option_value_id']. "' AND subtract = '1'");

}

}

Может кто грамотный проверить, не будет ли такой запрос давать нагрузку на базу или что еще? Заранее спасибо.

P.S.

Оказалось движек не может учитывать количество опций на остатки при продаже. т.е. если осталось 5шт этой опции, а ввести количество товара при покупке 10, то в базу записывается значение -5 :( т.е. проверка на остаток делается только для товара. Надеюсь в следующих версиях добавят....

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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