Расширение ннтернет-магазина для Joomla 3.
Иипорт товаров в Virtuemart 3
- Михаил
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 13
- Спасибо получено: 0
6 года 9 мес. назад #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:
Столкнулся с проблемой импорта товаров в 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>
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
6 года 9 мес. назад #8621
от Wedal
Wedal ответил в теме Иипорт товаров в Virtuemart 3
Михаил, вам нужно учитывать на сайте остатки по каждому из товаров (по каждому комплекту)?
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Михаил
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 13
- Спасибо получено: 0
6 года 9 мес. назад #8622
от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
Желательно, но уже рассматриваю все варианты!
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Михаил
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 13
- Спасибо получено: 0
6 года 9 мес. назад #8623
от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
А вот еще интересно, а можно ли как то сделать один основной а второй и последующие дочерними, что в карточке выбираем, и в то же время и остатки учитываем по каждой модификации!?
Уже голова кругом!:silly:
Уже голова кругом!:silly:
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Wedal
- Не в сети
- Администратор
Less
Больше
- Сообщений: 2868
- Спасибо получено: 659
6 года 9 мес. назад #8624
от Wedal
Wedal ответил в теме Иипорт товаров в Virtuemart 3
Михаил,
Общий алиас можно использовать только в случае, если товар один и обладает дополнительными характеристиками, являющимися атрибутами корзины. Но в этом случае вас ждет довольно-таки сложный учет остатков. Импортировать товары через CSVI вряд ли удастся.
Другие варианты: разные товары или дочерние товары - в любом случае потребуют от вас уникальных алиасов.
CSVI требует некоторого строгого формата представления данных для импорта. В теории, вы можете подогнать ваш файл к требуемому формату, но это придется в будущем делать каждый раз вручную.
Решение здесь, мне видится только одно - написать свой скрипт импорта. На самом деле, это не так сложно, как кажется на первый взгляд. Такой скрипт можно уместить в одном файле. Вы можете сделать так:
1) Выбрать формат, с которым будете работать в магазине (разные товары, один товар с доп. характеристиками, дочерние товары)
2) Создать через админку несколько тестовых товаров в магазине в выбранном формате
3) Экспортировать их через CSVI
4) Удалить их с сайта
5) Импортировать их через CSVI обратно
6) Посмотреть лог импорта. На сколько я помню, в нем показываются все SQL-запросы, которые выполняются в процессе импорта.
7) Скопировать себе все запросы, разобраться с ними и написать свой скрипт парсинга XML-файла поставщика и импорта данных в базу. XML-файл в Joomla легко парсится с помощью "JFactory::getXML()".
При таком подходе вы сами вольны формировать алиасы в скрипте. Вы можете использовать любой формат работы с магазином. Вы можете запускать скрипт через CRON для автоматического импорта данных по расписанию.
Общий алиас можно использовать только в случае, если товар один и обладает дополнительными характеристиками, являющимися атрибутами корзины. Но в этом случае вас ждет довольно-таки сложный учет остатков. Импортировать товары через CSVI вряд ли удастся.
Другие варианты: разные товары или дочерние товары - в любом случае потребуют от вас уникальных алиасов.
CSVI требует некоторого строгого формата представления данных для импорта. В теории, вы можете подогнать ваш файл к требуемому формату, но это придется в будущем делать каждый раз вручную.
Решение здесь, мне видится только одно - написать свой скрипт импорта. На самом деле, это не так сложно, как кажется на первый взгляд. Такой скрипт можно уместить в одном файле. Вы можете сделать так:
1) Выбрать формат, с которым будете работать в магазине (разные товары, один товар с доп. характеристиками, дочерние товары)
2) Создать через админку несколько тестовых товаров в магазине в выбранном формате
3) Экспортировать их через CSVI
4) Удалить их с сайта
5) Импортировать их через CSVI обратно
6) Посмотреть лог импорта. На сколько я помню, в нем показываются все SQL-запросы, которые выполняются в процессе импорта.
7) Скопировать себе все запросы, разобраться с ними и написать свой скрипт парсинга XML-файла поставщика и импорта данных в базу. XML-файл в Joomla легко парсится с помощью "JFactory::getXML()".
При таком подходе вы сами вольны формировать алиасы в скрипте. Вы можете использовать любой формат работы с магазином. Вы можете запускать скрипт через CRON для автоматического импорта данных по расписанию.
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Михаил
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 13
- Спасибо получено: 0
6 года 9 мес. назад #8625
от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
ок, спасибо, думаю второй вариант более симпатичен, попробую его, если что отпишусь)
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.
- Михаил
- Автор темы
- Не в сети
- Осваиваюсь на форуме
Less
Больше
- Сообщений: 13
- Спасибо получено: 0
6 года 9 мес. назад #8626
от Михаил
Михаил ответил в теме Иипорт товаров в Virtuemart 3
Если кому интересно то я справился силами CSVI
Получилось 2-мя шаблонами
1. Создаем шаблон импорта родителей
2. Создаем шаблон дочерних товаров с привязкой к родителю и полями custom_field, custom_value, custom_param
Все импортировалось как надо без сучка и задоринки)
Остатки учитываются, редактируется последующим обновлением через XML по артикулу
Получилось 2-мя шаблонами
1. Создаем шаблон импорта родителей
2. Создаем шаблон дочерних товаров с привязкой к родителю и полями custom_field, custom_value, custom_param
Все импортировалось как надо без сучка и задоринки)
Остатки учитываются, редактируется последующим обновлением через XML по артикулу
Пожалуйста Войти или Зарегистрируйтесь, чтобы присоединиться к беседе.