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

Как выявить проблему (с опциями)?


Recommended Posts

После замены напрямую в базе принадлежности одной Опции к другой группе Опций, невозможно создать ни один товар с Опциями, точней они создаются, но сохраняется только ОДНА последняя добавленная Опция. Замена проводилась такими запросами (пример для одной замены одной Опции):

 

UPDATE oc_option_value SET option_id = 20 WHERE option_value_id = 508;
UPDATE oc_option_value_description SET option_id = 20 WHERE option_value_id = 508;
UPDATE oc_product_option_value SET option_id = 20 WHERE option_value_id = 508;

 

Как найти проблему, по которой не сохраняет более одного значения Опций? Если была ошибка где-то в этих заменах, то логично предположить, что просто ставило бы не те значения, а так вообще исчезают Опции после редактирования/сохранения товара с ними.

Кэш чистился.

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


еще одна таблица есть: product_option

а вообще лучше смотрите в admin/model/catalog/product.php

Спойлер

		$this->db->query("DELETE FROM " . DB_PREFIX . "product_option WHERE product_id = '" . (int)$product_id . "'");
		$this->db->query("DELETE FROM " . DB_PREFIX . "product_option_value WHERE product_id = '" . (int)$product_id . "'");

		if (isset($data['product_option'])) {
			foreach ($data['product_option'] as $product_option) {
				if ($product_option['type'] == 'select' || $product_option['type'] == 'radio' || $product_option['type'] == 'checkbox' || $product_option['type'] == 'image') {
					if (isset($product_option['product_option_value'])) {
						$this->db->query("INSERT INTO " . DB_PREFIX . "product_option SET product_option_id = '" . (int)$product_option['product_option_id'] . "', product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', required = '" . (int)$product_option['required'] . "'");

						$product_option_id = $this->db->getLastId();

						foreach ($product_option['product_option_value'] as $product_option_value) {
							$this->db->query("INSERT INTO " . DB_PREFIX . "product_option_value SET product_option_value_id = '" . (int)$product_option_value['product_option_value_id'] . "', product_option_id = '" . (int)$product_option_id . "', product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', option_value_id = '" . (int)$product_option_value['option_value_id'] . "', quantity = '" . (int)$product_option_value['quantity'] . "', subtract = '" . (int)$product_option_value['subtract'] . "', price = '" . (float)$product_option_value['price'] . "', price_prefix = '" . $this->db->escape($product_option_value['price_prefix']) . "', points = '" . (int)$product_option_value['points'] . "', points_prefix = '" . $this->db->escape($product_option_value['points_prefix']) . "', weight = '" . (float)$product_option_value['weight'] . "', weight_prefix = '" . $this->db->escape($product_option_value['weight_prefix']) . "'");
						}
					}
				} else {
					$this->db->query("INSERT INTO " . DB_PREFIX . "product_option SET product_option_id = '" . (int)$product_option['product_option_id'] . "', product_id = '" . (int)$product_id . "', option_id = '" . (int)$product_option['option_id'] . "', value = '" . $this->db->escape($product_option['value']) . "', required = '" . (int)$product_option['required'] . "'");
				}
			}
		}

 

 

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

Спасибо за ответ. Немного отредактировал свой вопрос, т.к. проблема немного уточнилась - сохраняется лишь одно значение Опции, последнее из добавленных в Товаре. Чем это может быть вызвано? Может ли это быть связано именно с неотредактированным значением в таблице product_option ?

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


Я же написал внимательно посмотрите на admin/model/catalog/product.php

foreach ($data['product_option'] as $product_option) {

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

Какова правильная процедура или модуль для переноса/редактирования одной Опции товара в другую группу Опций, чтобы исключить любые подобные ошибки?

Может есть готовый пример или статья в виде SQL ? База очень большого магазина (более 30 тыс. товаров с 5-20 опциями у каждого) рабочая и эксперименты/ошибки выходят очень дорого. Спасибо.

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


2 часа назад, unlimuser сказал:

Какова правильная процедура или модуль для переноса/редактирования одной Опции товара в другую группу Опций, чтобы исключить любые подобные ошибки?

Может есть готовый пример или статья в виде SQL ? База очень большого магазина (более 30 тыс. товаров с 5-20 опциями у каждого) рабочая и эксперименты/ошибки выходят очень дорого. Спасибо.

$100 и в тему платных услуг. Если Вы не разобрали простейший код, то только так.

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

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

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

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

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

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

Вхід

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

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

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

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

Important Information

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