Перейти к содержимому


Фото
* * * * * 1 голосов

Импорт вариантов товаров


  • Чтобы отвечать, сперва войдите на форум
15 ответов в теме

#1 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 07.04.2018 - 18:10

Добрый день.

Пишу скрипт для импорта от своих поставщиков, не могу понять как импортировать товар, чтобы сразу импортировались варианты товара.

Например товар "трусы" артикул "005", варианты размеров: "S", "M", "L"

Как не пробую, либо разные товары создаются, либо просто обновляет уже созданный.

 

Покажите в каком виде должен быть файл импорта, чтобы варианты подгружались автоматически!


Изменено: kossik, 07.04.2018 - 18:11


#2 pudohom

pudohom
  • Пользователь
  • 47 сообщений
  • Пользователь
  • Версия CMS:2.x
  • Откуда:Пермь

Опубликовано 07.04.2018 - 18:24

Артикулы должны быть уникальные, тогда не будет обновлять созданный товар.



#3 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 07.04.2018 - 19:17

Пробовал, он создает 3 товара разных



#4 phukortsin

phukortsin
  • Пользователь
  • 157 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 07.04.2018 - 19:41

Покажите в каком виде должен быть файл импорта, чтобы варианты подгружались автоматически!

Он может быть в тысячах разных видов.

Надо бы подходить с другого концах: не секретничать, а сообщать, как именно делается у Вас, с подробностями.

Или смотрите и изучайте стандартный скрипт импорта...

#5 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 10.04.2018 - 13:56

Он может быть в тысячах разных видов.

Надо бы подходить с другого концах: не секретничать, а сообщать, как именно делается у Вас, с подробностями.

Или смотрите и изучайте стандартный скрипт импорта...

Да собственно никакого секрета нет, но дело не в этом. Я могу сделать как угодно, вопрос в том, что я не понимаю как правильно сделать каталог в csv.

Нашел вот такую часть в import.php:

// Если задан артикул варианта, найдем этот вариант и соответствующий товар
		if(!empty($variant['sku']))
		{ 
			$this->db->query('SELECT v.id as variant_id, v.product_id FROM __variants v, __products p WHERE v.sku=? AND v.product_id = p.id LIMIT 1', $variant['sku']);
			$result = $this->db->result();
			if($result)
			{
				// и обновим товар
				if(!empty($product))
					$this->products->update_product($result->product_id, $product);
				// и вариант
				if(!empty($variant))
					$this->variants->update_variant($result->variant_id, $variant);
				
				$product_id = $result->product_id;
				$variant_id = $result->variant_id;
				// Обновлен
				$imported_item->status = 'updated';
			}
		}

Получается если артикулы одинаковые, то он тупо обновляет вариант. В этом то и проблема, видимо, т.к. никаким другим способом он не поймет, что товары одинаковые и вариант нужно добавить к существующему товару.

У меня названия разные (в названии товара присутствует размер, цвет), артикулы можно сделать как разные, так и одинаковые (как захочу), в названии варианта ставлю размер.

 

Единственным выходом на текущий момент вижу создание более адекватного алгоритма в import.php, собственно вручную его и переписать. Думаю добавить проверку на существование названия варианта, если его нет - добавить, если есть - обновить.

Если есть другой способ, подскажите.


Изменено: kossik, 10.04.2018 - 14:03


#6 phukortsin

phukortsin
  • Пользователь
  • 157 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 10.04.2018 - 16:16

Получается если артикулы одинаковые, то он тупо обновляет вариант.

Да, так и задумано. Считается, что артикул идентифицирует вариант.
А если Вам так не подходит, меняйте на свой вкус.

Единственным выходом на текущий момент вижу создание более адекватного алгоритма в import.php, собственно вручную его и переписать. Думаю добавить проверку на существование названия варианта, если его нет - добавить, если есть - обновить.

Так пробуйте свою идею.

А куда проще было бы задать вариантам уникальные артикулы - можно через SQL, можно программно при создании варианта.

#7 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 10.04.2018 - 16:51

Да, так и задумано. Считается, что артикул идентифицирует вариант.
А если Вам так не подходит, меняйте на свой вкус.Так пробуйте свою идею.

А куда проще было бы задать вариантам уникальные артикулы - можно через SQL, можно программно при создании варианта.

Так я могу вариантам разные артикулы задать, но вопрос в другом - как при разных названиях и артикулах импорт загрузит варианты в один продукт? Он просто создает мне разные товары.



#8 phukortsin

phukortsin
  • Пользователь
  • 157 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 10.04.2018 - 17:18

Так я могу вариантам разные артикулы задать, но вопрос в другом - как при разных названиях и артикулах импорт загрузит варианты в один продукт? Он просто создает мне разные товары.

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

#9 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 10.04.2018 - 20:46

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

"Так же как обычно"? Если вы не знаете, то зачем тогда писать здесь?

Поэтому и спрашиваю: Как конкретно должен выглядеть CSV файл, чтобы товары выгружались в виде вариантов?

Просто покажите пример рабочего CSV! Остальное я сделаю сам, руки растут прямо



#10 phukortsin

phukortsin
  • Пользователь
  • 157 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 11.04.2018 - 09:34

Как конкретно должен выглядеть CSV файл, чтобы товары выгружались в виде вариантов?

1. В админке на странице импорта написан развернутый ответ на Ваш вопрос.
2. Еще можно в админке сделайть экспорт и получить нужный образец.

На фоне Вашего начального заявления "Пишу скрипт для импорта от своих поставщиков" правильный ответ выглядит так "CSV файл должен выглядеть так, чтобы соответствовать скрипту".

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



#11 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 11.04.2018 - 15:36

1. В админке на странице импорта написан развернутый ответ на Ваш вопрос.
2. Еще можно в админке сделайть экспорт и получить нужный образец.

На фоне Вашего начального заявления "Пишу скрипт для импорта от своих поставщиков" правильный ответ выглядит так "CSV файл должен выглядеть так, чтобы соответствовать скрипту".

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

1. Там нет НИЧЕГО относящегося к вариантам.

2. См. п.1

Зачем захламляешь тему? Ни на один вопрос не ответил, написал лишь свои мысли. Мне это не интересно. Поднимать уровень своего ЧСВ здесь не уместно. Либо помоги, либо не пиши

 

Скрипт я пишу, который объединит десяток кривых CSV файлов поставщиков в один общий CSV-файл, который будет правильно читаться Симплой при импорте. Что не понятного было в моем вопросе?


Изменено: kossik, 11.04.2018 - 15:37


#12 Kosjak76

Kosjak76
  • Модератор
  • 3 719 сообщений
  • Программирование
  • Версия CMS:1.x, 2.x
  • Откуда:Харьков, Украина

Опубликовано 11.04.2018 - 15:58

http://demo.simplacm...ule=ExportAdmin

admin

admin

Вот здесь делаете экспорт.

(Это будет образец)

Для проверки:

Потом удаляете ВСЕ товары.

И делаете ИМПОРТ.



#13 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 11.04.2018 - 16:19

http://demo.simplacm...ule=ExportAdmin

admin

admin

Вот здесь делаете экспорт.

(Это будет образец)

Для проверки:

Потом удаляете ВСЕ товары.

И делаете ИМПОРТ.

Отлично! Теперь все понятно, спасибо.

Импорт вариантов происходит при соответствии наименования.

Значит мне нужно в моих товарах почистить наименования от таких данных, как: Цвет, размер и т.д., чтобы они стали одинаковыми.

А если это невозможно, то видимо только объединять разные варианты вручную.

Очень странно, что разработчики симплы не подумали о таком моменте, как ключевой столбец. У многих людей уникальными будут не названия, а артикулы.



#14 phukortsin

phukortsin
  • Пользователь
  • 157 сообщений
  • Программирование, Пользователь
  • Версия CMS:2.x
  • Откуда:Львов

Опубликовано 11.04.2018 - 16:23

1. Там нет НИЧЕГО относящегося к вариантам.

1. Там есть, в частности, такое:
В первой строке таблицы должны быть указаны названия колонок в таком формате:
Вариант название варианта
Цена цена товара
Склад количество товара на складе
Артикул артикул товара
Это все относится к вариантам.

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

Очень странно, что разработчики симплы не подумали о таком моменте, как ключевой столбец. У многих людей уникальными будут не названия, а артикулы.

Как раз подумали. И при импорте артикул работает как ключевой столбец.

#15 kossik

kossik
  • Пользователь
  • 24 сообщений
  • Заказчик, Пользователь
  • Версия CMS:2.x
  • Откуда:Санкт-Петербург

Опубликовано 11.04.2018 - 16:39

Все получилось! Почистил наименования от таких данных, как цвет, артикул, размер, в результате они получились одинаковыми у разных вариантов одного товара. В артикул добавил буквы различия варианта - либо размер, либо цвет. Загрузилось 11тыс товаров на сайт каждый со своими вариантами.

phukortsin, больше никому не помогай. Твоя помощь только вносит неразбериху


Изменено: kossik, 11.04.2018 - 16:44


#16 Noxter

Noxter

    Simpla Developer

  • Фрилансер
  • 6 497 сообщений
  • Дизайн, Программирование, Верстка
  • Версия CMS:2.x
  • Откуда:Киев

Опубликовано 11.04.2018 - 17:41

phukortsin, больше никому не помогай. Твоя помощь только вносит неразбериху

+100500




0 пользователей читают эту тему

0 пользователей, 0 гостей, 0 скрытых