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

[РЕШЕНО] Слетает главная категория при копировании карточки товара


Moonwalker

Recommended Posts

Всем привет.

Ситуация следующая: при копировании карточки товара во вновь созданной карточке почему-то слетает главная категория. При этом слетает не полностью, а на несколько уровней вверх (если быть точным, то до 1-го уровня).

Например: у товара главная категория "Категория1-->Подкатегория2-->Подкатегория3". После копирования карточки у новой главной будет стоять "Категория1".

Есть возможность как-то пофиксить эту проблему? А то напрягает с определенного момента ))

оцСторе 1.5.5.1.1.

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


Я так посмотрел за это отвечает /public_html/admin/model/catalog/product.php
 

	public function copyProduct($product_id) {
		$query = $this->db->query("SELECT DISTINCT * FROM " . DB_PREFIX . "product p LEFT JOIN " . DB_PREFIX . "product_description pd ON (p.product_id = pd.product_id) WHERE p.product_id = '" . (int)$product_id . "' AND pd.language_id = '" . (int)$this->config->get('config_language_id') . "'");
		
		if ($query->num_rows) {
			$data = array();
			
			$data = $query->row;
			
			$data['sku'] = '';
			$data['upc'] = '';
			$data['viewed'] = '0';
			$data['keyword'] = '';
			$data['status'] = '0';
						
			$data = array_merge($data, array('product_attribute' => $this->getProductAttributes($product_id)));
			$data = array_merge($data, array('product_description' => $this->getProductDescriptions($product_id)));			
			$data = array_merge($data, array('product_discount' => $this->getProductDiscounts($product_id)));
			$data = array_merge($data, array('product_filter' => $this->getProductFilters($product_id)));
			$data = array_merge($data, array('product_image' => $this->getProductImages($product_id)));		
			$data = array_merge($data, array('product_option' => $this->getProductOptions($product_id)));
			$data = array_merge($data, array('product_related' => $this->getProductRelated($product_id)));
			$data = array_merge($data, array('product_reward' => $this->getProductRewards($product_id)));
			$data = array_merge($data, array('product_special' => $this->getProductSpecials($product_id)));
			$data = array_merge($data, array('product_category' => $this->getProductCategories($product_id)));
			$data = array_merge($data, array('product_download' => $this->getProductDownloads($product_id)));
			$data = array_merge($data, array('product_layout' => $this->getProductLayouts($product_id)));
			$data = array_merge($data, array('product_store' => $this->getProductStores($product_id)));
			
			$this->addProduct($data);
		}
	} 

 Далее есть обработка данной строки.

Вопрос почему данная функция запрашивает после копирования ГЛАВНУЮ ДИРЕКТОРИЮ! А не оставляет все как есть?

	public function getProductCategories($product_id) {
		$product_category_data = array();
		
		$query = $this->db->query("SELECT * FROM " . DB_PREFIX . "product_to_category WHERE product_id = '" . (int)$product_id . "'");
		
		foreach ($query->rows as $result) {
			$product_category_data[] = $result['category_id'];
		}

		return $product_category_data;
	}
Надіслати
Поділитися на інших сайтах


Методом тыка понял что там есть еще одна функция которая отвечает как раз за "Главную категорию"

 

В этом файле /public_html/admin/model/catalog/product.php

 

Нужно добавить вот эту строку!

$data = array_merge($data, array('main_category_id' => $this->getProductMainCategoryId($product_id)));

 

после вот этой (309 строка)

$data = array_merge($data, array('product_special' => $this->getProductSpecials($product_id)));

 

У кого работает напишите, сюда чо как!

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


Вроде работает! Надо будет потестить еще, но уже сейчас не могу выразить все слова благодарности ))) Особенно от партнера, который и занимается ассортиментом ))

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


Вроде работает! Надо будет потестить еще, но уже сейчас не могу выразить все слова благодарности ))) Особенно от партнера, который и занимается ассортиментом ))

 

Тогда возможно вы имеете и такую проблему! https://opencartforum.com/topic/38545-%D1%80%D0%B5%D1%88%D0%B5%D0%BD%D0%BE%D0%BD%D0%B5-%D0%BF%D1%80%D0%B0%D0%B2%D0%B8%D0%BB%D1%8C%D0%BD%D0%BE%D0%B5-%D1%84%D0%BE%D1%80%D0%BC%D0%B8%D1%80%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5-%D1%81%D0%BF%D0%B8%D1%81%D0%BA%D0%B0-%D0%BA%D0%B0%D1%82%D0%B5/

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


  • 5 years later...
  • 2 months later...

У меня почему то на 3.0 не прокатывает, кэш чистил, модификаторы обновлял. Сборка maxystore 3.0.2.0. автор на вопрос этот, сказал, что зачем это лечить, если можно руками массово исправлять. ))))

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


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

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

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

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

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

Вхід

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

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

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

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

Important Information

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