Стоит ли использовать штатные методы OpenCart для изменения категорий и товаров при импорте из 1с?

Хотел использовать методы edit для сохранения категорий и товаров, но что-то напрягает код запросов с его DELETE - INSERT .

$this->db->query("UPDATE " ..... WHERE product_id = '" . (int)$product_id . "'");

	if (isset($data['image'])) {
		$this->db->query("UPDATE " . DB_PREFIX . "product SET image = '" . $this->db->escape($data['image']) . "' WHERE product_id = '" . (int)$product_id . "'");
		}

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

		foreach ($data['product_description'] as $language_id => $value) {
			$this->db->query("INSERT INTO " . DB_PREFIX . "product_description .....);
		}

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

		if (isset($data['product_store'])) {
			foreach ($data['product_store'] as $store_id) {
				$this->db->query("INSERT INTO " . DB_PREFIX . "product_to_store ......);
			}
		}

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

		if (!empty($data['product_attribute'])) {
			foreach ($data['product_attribute'] as $product_attribute) {
				if ($product_attribute['attribute_id']) {
					foreach ($product_attribute['product_attribute_description'] as $language_id => $product_attribute_description) {
						$this->db->query("INSERT INTO " . DB_PREFIX . "product_attribute .......);
					}
				}
			}
		}


Обновляется только сам товар и изображение, остальное при каждой записи удалятся и добавляется заново. Для импорта это нормально если он может запускаться довольно часто?
  • Вопрос задан
  • 323 просмотра
Пригласить эксперта
Ответы на вопрос 1
@1011
Можно узнать, каким образом делаете импорт из 1с в опенкарт? через csv?
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы