Перейти к содержанию
Официальный форум поддержки Simpla

При импорте товара не обновляются свойства


Рекомендуемые сообщения

В файле импорта есть комментарий:

// Свойство добавляем только если для товара указана категория и непустое значение свойства

Ссылка на сообщение
Поделиться на другие сайты

В файле импорта есть комментарий:

// Свойство добавляем только если для товара указана категория и непустое значение свойства

Что-то не могу найти этот комментарий.

И как можно значение сделать пустым?

 

Проблема в том, что есть дублирующиеся свойства ("установка", "способ установки").

Хочу сделать красиво.

Руками - долго.

Ссылка на сообщение
Поделиться на другие сайты

если товар уже создан в базе, то можно делать выборку категории товара и передавать ее для свойств, найдите строки в файле simpla/ajax/import.php (строка 190 примерно)

 

	 		// Характеристики товаров
	 		foreach($item as $feature_name=>$feature_value)
	 		{
	 			// Если нет такого названия колонки, значит это название свойства
	 			if(!in_array($feature_name, $this->internal_columns_names))
	 			{ 
	 				// Свойство добавляем только если для товара указана категория
					if($category_id)
					{
						$this->db->query('SELECT f.id FROM __features f WHERE f.name=? LIMIT 1', $feature_name);
						if(!$feature_id = $this->db->result('id'))
							$feature_id = $this->features->add_feature(array('name'=>$feature_name));
							
						$this->features->add_feature_category($feature_id, $category_id);				
						$this->features->update_option($product_id, $feature_id, $feature_value);
					}
					
	 			}
	 		} 

и заменить на:

 

 			// Если нет такого названия колонки, значит это название свойства
 			if(!in_array($feature_name, $this->internal_columns_names))
 			{ 
 				// Свойство добавляем только если для товара указана категория
				if($category_id)
				{
					$this->db->query('SELECT f.id FROM __features f WHERE f.name=? LIMIT 1', $feature_name);
					if(!$feature_id = $this->db->result('id'))
						$feature_id = $this->features->add_feature(array('name'=>$feature_name));
						
					$this->features->add_feature_category($feature_id, $category_id);				
					$this->features->update_option($product_id, $feature_id, $feature_value);
				} 
				//иначе если известен айди товара, выберем категории этого товара и добавим х-ки
				elseif($product_id) {
					$p_cats = $this->categories->get_product_categories($product_id);

					$this->db->query('SELECT f.id FROM __features f WHERE f.name=? LIMIT 1', $feature_name);
					if(!$feature_id = $this->db->result('id'))
						$feature_id = $this->features->add_feature(array('name'=>$feature_name));
					// свяем каждую категорию с характеристикой
					foreach ($p_cats as $cat_id) {
						$this->features->add_feature_category($feature_id, $cat_id);
					}
					//обновим значение
					$this->features->update_option($product_id, $feature_id, $feature_value);					
				}
				
 			}

в этом случае будет добавлять х-ки для уже существующих товаров даже если в прайсе нет категорий

Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

Загрузка...
×
×
  • Создать...