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

Разработка модуля для импорта товаров


Recommended Posts

Здравствуйте. 

Нужна рабработка модуля загрузки товаров на сайт по примеру встроенной загрузки товаров из Prestashop.

В Prestashop, мы загружали файл в формате .csv с разделителем значений "^"

 

При помощи этого файла загружаются следующие данные: 

  • ID Товара
  • Если товар Включён/Выключен
  • Наименование
  • Каким категоорям этот товар соответствует (вписаны ID категорий, разделяются ":", первая пишется главная категория для товара)
  • Цена с налогом
  • (можно пропустить) Налоговые Правила 
  • (можно пропустить) Цена без налогов
  • (можно пропустить) Себесмтоимость
  • На распродаже (да/нет)
  • Величина скидки
  • Процент скидки
  • Скидка валидна от даты (yyyy-mm-dd)
  • Скидка валидна до даты (yyyy-mm-dd)
  • Артикул (Просто добавляется буква "А" к ID товара)
  • Количетсво товара
  • Минимальное количествао (при котором можно заказывать товар)
  • Короткое описание
  • Производитель (бренд)
  • Описание (используется наименование с добавлением дополнительных слов)
  • Тэги (x;y;z) (используется наименование с запятыми вместо пробелов)
  • Meta title (используется наименование с добавлением наименования компании)
  • Meta keywords (используется описание с запятыми вместо пробелов)
  • Meta description (используется наименование с добавлением дополнительных слов)
  • (можно пропустить) Available for order (Да/Нет)
  • (можно пропустить) Product available date
  • (можно пропустить) Product creation date
  • (можно пропустить) Show price (0 = No, 1 = Yes)
  • Image URLs (x;y;z...) (прямые ссылки на картинки)
  • Delete existing images (0 = No, 1 = Yes) (Да - удаляет старые картинки и загружает новые, Нет - Не удаляет старые и загружает дополнительно новые)
  • Feature(Name:Value:Position;) (Характеристика:Значение:[позиция];Характеристика:Значение:[позиция];)
  • RefSuplier (Код товара у поставщика, так как поставщик не один)
  • (можно пропустить) LINK REWRITE
  • Supplier (Наименование поставщика)

 

Важные особенности:

- Характеристики и их значения пишутся все в одной ячейке (позиция - опциональна)

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

- Категории вписываются их коды, потому что есть многиек категории с одинаковым наименованием (к примеру SVEN есть отдельно в категории Мышки, Клавиатуры, Наушники и т.д.)

- Категорий у нас более 700, и их структура сложновата, поэтому нужно и категории примерно так-же загружать (с другими полями, но насильно нужно вписывать ID категорий)

 

Пожалуйста, оцените объём работ и возможность их выполнения.

Заранее благодарю.

result-Ultra(1).xlsx

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


1 час назад, Kilob сказал:

загружали файл в формате .csv

так вы собираетесь грузить в csv или в xlsx как прикрепленный файл ?

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

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


7 минут назад, pro100m сказал:

так вы собираетесь грузить в csv или в xlsx как прикрепленный файл ?

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

 

egor23 снова вы со своими причудами и загрузчиками?

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


1 час назад, Kilob сказал:

- Категорий у нас более 700, и их структура сложновата, поэтому нужно и категории примерно так-же загружать (с другими полями, но насильно нужно вписывать ID категорий)

 

Можете еще файл категорий приложить?

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


31 минуту назад, pro100m сказал:

так вы собираетесь грузить в csv или в xlsx как прикрепленный файл ?

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

- Загружаем в .csv (файл .xlsx открываем в LibreOffice и сохраняем его в .csv. LibreOffice корректно кодирует символы)
- Готовые решения используют шаблон, который нам не очень подходит. У них, чаще всего, характеристики в отдельных столбцах, и значения характеристик в строке с товаром, а у нас примерно 3000 характеристик в общей сложности

 

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


22 минуты назад, searchingman сказал:

Можете еще файл категорий приложить?

- пример файла категоорий прилагаю в формате .csv

3000-RO-RU-SAMPLE-categories_import-WithCorrectParents.csv 5000-RO-RU-SAMPLE-categories_import-WithCorrectParents.csv 4000-RO-RU-SAMPLE-categories_import-WithCorrectParents.csv 2000-RO-RU-SAMPLE-categories_import-WithCorrectParents.csv 1000-RO-RU-SAMPLE-categories_import-WithCorrectParents.csv

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


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

у нас примерно 3000 характеристик в общей сложности

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

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


1 час назад, pro100m сказал:

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

Характеристики могут не соответствовать. Могут появляться новые характеристики. Характеристики и товар копируются при помощи скрипта напрямую от поставщиков, поэтому следить за характеристиками мы не можем.

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


4 минуты назад, Kilob сказал:

Характеристики могут не соответствовать.

в таком случае как вы сами представляете что бы характеристика ложилась в нужную в магазине ?

вот смотрите, к примеру если названия характеристик соответствуют названию в прайсе то пишется настройка в одну строку, то есть если название в прайсе = названию в магазине , то значение присваивается названию в магазине, если такой характеристики нет в магазине, то она создается с том названием которое в прайсе, а если у вас характеристика в прайсе называется Страна, а в магазине Страна производитель, то как по вашему загрузчик должен понять что что надо куда присвоить ?

Если делать ручное соотношение типа из прайса характеристика Страна = характеристики из прайса Страна производитель тогда значение будет присваиваться правильно, но при таком раскладе это адский труд присвоить столько характеристик, и + к тому же тогда при возникновение новых характеристик они не будут создаваться на автомате.

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


27 минут назад, pro100m сказал:

в таком случае как вы сами представляете что бы характеристика ложилась в нужную в магазине ?

вот смотрите, к примеру если названия характеристик соответствуют названию в прайсе то пишется настройка в одну строку, то есть если название в прайсе = названию в магазине , то значение присваивается названию в магазине, если такой характеристики нет в магазине, то она создается с том названием которое в прайсе, а если у вас характеристика в прайсе называется Страна, а в магазине Страна производитель, то как по вашему загрузчик должен понять что что надо куда присвоить ?

Если делать ручное соотношение типа из прайса характеристика Страна = характеристики из прайса Страна производитель тогда значение будет присваиваться правильно, но при таком раскладе это адский труд присвоить столько характеристик, и + к тому же тогда при возникновение новых характеристик они не будут создаваться на автомате.

Опять-же, я не программист, но пишу о том, что есть в Prestashop. Знаю, что характеристики и значения там имеют свои ID и отдельные листы в базе mySQL. 

Все значения "Страна" в столбце с характеристиками, вписываются в характеристики. Если появляется новая харакетеристика, которой нет в базе (просто новое наименование), то создаётся новая характеристика с новым ID для неё. 

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


59 минут назад, pro100m сказал:

Если делать ручное соотношение типа из прайса характеристика Страна = характеристики из прайса Страна производитель тогда значение будет присваиваться правильно, но при таком раскладе это адский труд присвоить столько характеристик, и + к тому же тогда при возникновение новых характеристик они не будут создаваться на автомате.

 

Могу сделать модуль с таким функционалом..

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


30 минут назад, Kilob сказал:

Знаю, что характеристики и значения там имеют свои ID и отдельные листы в базе mySQL. 

Все значения "Страна" в столбце с характеристиками, вписываются в характеристики. Если появляется новая харакетеристика, которой нет в базе (просто новое наименование), то создаётся новая характеристика с новым ID для неё

вы не поняли смысла того что я сказал. Не путайте Название характеристики со Значением.

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

Характеристика Страна, да, имеет в базе свой ID, но в прайсе этого ID нет, поэтому и сравнивать можно по названию, не важно какое значение будет в прайсе, Россия, Германия, Китай, если названия характеристики из прайса  совпадает с названием в магазине, то значение присвоится если его нет к названию характеристики.

В другом случае, вам надо в загрузчике вручную указать соотношение Названия характеристик из прайса какому Названию характеристики соответствует в магазине.

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


Файл формируется копируя все товары, сылки на картинки, характеристики и их значения с сайтов поставщиков при помощи API. Сохраняется всё в файле формата .csv

Решение именно такое, потому что файл .csv можно потом доработать при необходимости (то есть в целом больше контроля).

В Вашем примере хочу пояснить - Наименования харакетеристик и их Значения загружаются тем-же файлом, а значит не существует прайса в котором будут какие-то другие наименования харакетеристик, однако у поставщика в базе может быть изменение и какая-то характеристика исчезнет (тогда изменений в базе не будет) или будет переименована. В таком случае - в новом файле .csv скачанного при помощи API? создаётся новая характеристика с новым значением.

Да, в такоv случае будет много "мусора" в базе, но такие изменения происходит очень редко.

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


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

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

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

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

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

Вхід

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

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

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

Important Information

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