Куда идем?
Расширение ннтернет-магазина для Joomla 3.

Иипорт товаров в Virtuemart 3

  • Михаил
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
6 года 3 мес. назад #8620 от Михаил
Михаил создал тему: Иипорт товаров в Virtuemart 3
Приветствую всех!
Столкнулся с проблемой импорта товаров в Virtuemart 3
пытаюсь импортировать товар с раздающего API в формате XML, CSV (прилагаю пример xml) по ссылке
использую CSVI Pro 7.1.0 (может импортировать XML, CSV хоть из файла, хоть по ссылке и т.п.)
А вот сама сложность: Структура файла поставщика построена таким образом что товар имеет одинаковые ID, имя из чего Virtuemart 3 строит алиес (при импорте вызывает ошибку SLUG (не оригинальный алиас)), но товар имеет разные размер доп поля (1,5 спальный, 2 спальный, Евро) в остальном он идентичен.
1. Пытался импортировать как разные товары yj chfpysvb - получил ошибку об не уникальности SlUG (альеса)
2. Пытался импортировать как один товар с тремя свойствами доп. полей, не корректно поля импортируются, что то у меня с шаблоном csvi не получается их импортировать, он просит разделить значения и св-ва, цену полей (атрибут корзины) полей знаком "~", а как его импортировать в шаблон полученный от поставщика!? Там есть в CSVI св-ва и плагины, но что то не смог разобраться как доработать и обработать именно эти поля! Может кто то сталкивался?
к посту прилагаю краткий кусок на котором тестирую XML (один товар, но с разными св-ми)
Люди добрые помогите! Уже мозг взрывается!!!:blink:
Code:
<?xml version="1.0" encoding="UTF-8"?> <response> <item> <id>56505</id> <name>КПБ 100-22</name> <article>100-22</article> <par_cat_id>Постельное белье</par_cat_id> <cat_id>КПБ Сатин с вышивкой (арт. 100)</cat_id> <brand>Вальтери</brand> <color_count>Цветное</color_count> <pict_style>Цветы</pict_style> <textile>Сатин</textile> <filler></filler> <duvet>150x215-2шт</duvet> <pillowcase>4шт-50х70 (2шт), 70х70 (2шт)</pillowcase> <sheet>230x250</sheet> <param_value>2 спальный</param_value> <param_name>размер постельного белья</param_name> <price>4602</price> <count_goods>0</count_goods> <img_name>kpb-100-22.jpg</img_name> </item> <item> <id>56505</id> <name>КПБ 100-22</name> <article>100-22</article> <par_cat_id>Постельное белье</par_cat_id> <cat_id>КПБ Сатин с вышивкой (арт. 100)</cat_id> <brand>Вальтери</brand> <color_count>Цветное</color_count> <pict_style>Цветы</pict_style> <textile>Сатин</textile> <filler></filler> <duvet>150x215-2шт</duvet> <pillowcase>4шт-50х70 (2шт), 70х70 (2шт)</pillowcase> <sheet>230x250</sheet> <param_value>Евро</param_value> <param_name>размер постельного белья</param_name> <price>4695</price> <count_goods>0</count_goods> <img_name>kpb-100-22.jpg</img_name> </item> <item> <id>56505</id> <name>КПБ 100-22</name> <article>100-22</article> <par_cat_id>Постельное белье</par_cat_id> <cat_id>КПБ Сатин с вышивкой (арт. 100)</cat_id> <brand>Вальтери</brand> <color_count>Цветное</color_count> <pict_style>Цветы</pict_style> <textile>Сатин</textile> <filler></filler> <duvet>150x215-2шт</duvet> <pillowcase>4шт-50х70 (2шт), 70х70 (2шт)</pillowcase> <sheet>230x250</sheet> <param_value>Семейный</param_value> <param_name>размер постельного белья</param_name> <price>5708</price> <count_goods>0</count_goods> <img_name>kpb-100-22.jpg</img_name> </item> </response>

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

Больше
6 года 3 мес. назад #8621 от Wedal
Wedal ответил в теме Иипорт товаров в Virtuemart 3
Михаил, вам нужно учитывать на сайте остатки по каждому из товаров (по каждому комплекту)?

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

  • Михаил
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
6 года 3 мес. назад #8622 от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
Желательно, но уже рассматриваю все варианты!

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

  • Михаил
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
6 года 3 мес. назад #8623 от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
А вот еще интересно, а можно ли как то сделать один основной а второй и последующие дочерними, что в карточке выбираем, и в то же время и остатки учитываем по каждой модификации!?
Уже голова кругом!:silly:

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

Больше
6 года 3 мес. назад #8624 от Wedal
Wedal ответил в теме Иипорт товаров в Virtuemart 3
Михаил,

Общий алиас можно использовать только в случае, если товар один и обладает дополнительными характеристиками, являющимися атрибутами корзины. Но в этом случае вас ждет довольно-таки сложный учет остатков. Импортировать товары через CSVI вряд ли удастся.

Другие варианты: разные товары или дочерние товары - в любом случае потребуют от вас уникальных алиасов.

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

Решение здесь, мне видится только одно - написать свой скрипт импорта. На самом деле, это не так сложно, как кажется на первый взгляд. Такой скрипт можно уместить в одном файле. Вы можете сделать так:
1) Выбрать формат, с которым будете работать в магазине (разные товары, один товар с доп. характеристиками, дочерние товары)
2) Создать через админку несколько тестовых товаров в магазине в выбранном формате
3) Экспортировать их через CSVI
4) Удалить их с сайта
5) Импортировать их через CSVI обратно
6) Посмотреть лог импорта. На сколько я помню, в нем показываются все SQL-запросы, которые выполняются в процессе импорта.
7) Скопировать себе все запросы, разобраться с ними и написать свой скрипт парсинга XML-файла поставщика и импорта данных в базу. XML-файл в Joomla легко парсится с помощью "JFactory::getXML()".

При таком подходе вы сами вольны формировать алиасы в скрипте. Вы можете использовать любой формат работы с магазином. Вы можете запускать скрипт через CRON для автоматического импорта данных по расписанию.

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

  • Михаил
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
6 года 3 мес. назад #8625 от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
ок, спасибо, думаю второй вариант более симпатичен, попробую его, если что отпишусь)

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

  • Михаил
  • Автор темы
  • Не в сети
  • Осваиваюсь на форуме
  • Осваиваюсь на форуме
Больше
6 года 3 мес. назад #8626 от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
Если кому интересно то я справился силами CSVI
Получилось 2-мя шаблонами
1. Создаем шаблон импорта родителей
2. Создаем шаблон дочерних товаров с привязкой к родителю и полями custom_field, custom_value, custom_param
Все импортировалось как надо без сучка и задоринки)
Остатки учитываются, редактируется последующим обновлением через XML по артикулу

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