Страница 1 из 1

Модуль импорта XML

Добавлено: 07.04.2023, 04:43
norfin
Стоит задача импорта товаров от разных поставщиков в xml формате.
Файлы импорта будут разные, категории в файлах тоже будут разные.
Т.е. нужен модуль, в котором всё это можно будет настроить.
Пока что нашел один, который вроде-бы должен подойти. Вот этот - https://okay-cms.com/products/module-created-advanced_xml_import
Пробовал тестить демоверсию, но предложенные файлы модуль не читает, обзывает "не валидными".
В демоверсии доступна только "Яндекс предустановка импорта".
Кто пользовался данным модулем? Рассчитан он на такие задачи? Есть ли возможность настройки?


p.s.
На всякий случай даю ссылку на один из файлов импорта - https://download.partizan.global/xml/Partizan_and_Myers_stock.xml

Добавлено: 07.04.2023, 06:55
korshunov
Ваш файл имеет структуру
<items>
<item>...</item>
<item>...</item>
<item>...</item>
</items>

А тот импорт такого не понимает. Какую ему структуру надо можно лишь гадать. У меня счел валидной такую
<yml_catalog date="2023-04-07 09:12">
<shop>
<name>test</name>
<company>test</company>
<url>test</url>
<currencies>
<currency id="RUB" rate="1"/>
</currencies>
<categories>
<category id="16">test</category>
</categories>
<offers>
<offer id="44" available="true"> </offer>
</offers>
</shop>
</yml_catalog>

А дальше не пошло. Смог добиться лишь загадочной фразы
Текущий статус: Импорт будет запущен

Вообще доработка сложная, и ее сверх краткое описание никак не соответствует уровню. Есть лишь подсказка Для разработчиков, понять которую без исходников даже специалистам практически невозможно.

На странице модуля сказано: Качество проверено OkayCMS. Совсем не похоже, чтобы проверялось качество описания.

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

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

Добавлено: 07.04.2023, 07:48
norfin
Спасибо. Меня вот тоже смущает отсутствие ответа от разработчиков на вопрос о модуле.

Добавлено спустя 4 минуты 5 секунд:
Может есть рабочая проверенная альтернатива?

Добавлено: 08.04.2023, 10:51
виктор
тоже пользуюсь таким модулем. в моем случае поставщик мне предоставил фид в котором ад категории имел нестандартный вид типа цифры-буквы-спец символы. мне через Виталия доработали модуль, но потом оказалось что я себе сгенерировал сам правильный фид ( выбрал для прома) и он прекрасно работает по дефолту. осталось только недопонимание как работает модуль, нужно ли проводить импорт постоянно в ручном режиме или он автоматом обновляет? оставлю ссылку на сайт что бы было понятно о чем я https://kuhniluxe.com.ua/

Добавлено: 09.04.2023, 06:34
korshunov
виктор писал(а):тоже пользуюсь таким модулем. в моем случае поставщик мне предоставил фид в котором ад категории имел нестандартный вид типа цифры-буквы-спец символы. мне через Виталия доработали модуль, но потом оказалось что я себе сгенерировал сам правильный фид ( выбрал для прома) и он прекрасно работает по дефолту. осталось только недопонимание как работает модуль, нужно ли проводить импорт постоянно в ручном режиме или он автоматом обновляет? оставлю ссылку на сайт что бы было понятно о чем я https://kuhniluxe.com.ua/

Чтобы было хоть чуть понятно, надо бы:
1. Показать пример файла импорта,
2. Показать свои настройки (в частности, Okay\Modules\SimplaMarket\AdvancedXmlImport\Init\parameters.php).

Добавлено: 09.04.2023, 07:39
виктор
2 Okay/Modules/SimplaMarket/AdvancedXmlImport/Core/Feed/Import/Initiator.php
Okay/Modules/SimplaMarket/AdvancedXmlImport/Core/Feed/Parser/CatalogParser.php
Okay/Modules/SimplaMarket/AdvancedXmlImport/Core/ImportService.php
Okay/Modules/SimplaMarket/AdvancedXmlImport/Init/services.php Это ответ Виталия мне по доработкам, для будущих обновлений. parameters.php без изменений.
1 <shop>
<name>PLATINUM</name>
<company>PLATINUM</company>
<url>https://b2bnew.platinum-company.com.ua</url>
<currencies>
<currency id="UAH" rate="1"/>
</currencies>
<categories>
<category id="480">ЛЮСТРИ</category>
<category id="487" parentId="480">LED Люстри Sirius</category>
<category id="483" parentId="487">LED Люстри власне виробництво</category>
<category id="488" parentId="487">LED Люстри підвісні</category>
<category id="491" parentId="487">Галогенові люстри</category>
<category id="492" parentId="487">Світлодіодні люстри космос</category>
<category id="507" parentId="568">Бра скляний плафон, лофт</category>
<category id="509" parentId="568">Дитячі</category>
<category id="567" parentId="504">LED бра</category>
</categories>
<offers>
<offer id="1008" available="true">
<url>https://b2bnew.platinum-company.com.ua/catalog/1008</url>
<price>53.00</price>
<currencyId>UAH</currencyId>
<categoryId>481</categoryId>
<picture>https://b2bnew.platinum-company.com.ua/uploads/cache/CatalogItems/CatalogItems1008/0388c553ca-1_resize_1200x1200.JPEG</picture>
<pickup>true</pickup>
<delivery>true</delivery>
<name>Світильник точковий Sirius Ш DH 03 GOLD</name>
<vendorCode>000017365</vendorCode>
<quantity_in_stock>1</quantity_in_stock>
<country_of_origin>Точкові світильники</country_of_origin>
</offer>

Добавлено: 09.04.2023, 11:09
korshunov
1. Ваш файл и на демо проходит валидацию успешно. Видимо, он подходит, под то, что разработчики называют "Яндекс предустановка импорта". Поэтому для ТС, у которого формат иной, с этого толку никакого...

2. Ответ Виталия по доработкам, видимо, просто перечисление измененных файлов. И вообще, зачем была нужна доработка, непонятно, так как в файле примере НЕТ того, что Вы обозначили как "ад категории имел нестандартный вид типа цифры-буквы-спец символы". Конкретики практически нет...

Добавлено: 09.04.2023, 13:28
виктор
korshunov писал(а):И вообще, зачем была нужна доработка, непонятно, так как в файле примере НЕТ того, что Вы обозначили как "ад категории имел нестандартный вид типа цифры-буквы-спец символы".
ну это потому что я уже сам изменил файл импорта (это не первый). впрочем я и не жду ответа. просто высказал предположение что топик стартер возможно мог бы тоже изменить фид чтобы он импортировался.

Добавлено: 10.04.2023, 05:34
norfin
виктор писал(а):
korshunov писал(а):И вообще, зачем была нужна доработка, непонятно, так как в файле примере НЕТ того, что Вы обозначили как "ад категории имел нестандартный вид типа цифры-буквы-спец символы".
ну это потому что я уже сам изменил файл импорта (это не первый). впрочем я и не жду ответа. просто высказал предположение что топик стартер возможно мог бы тоже изменить фид чтобы он импортировался.

Проблема в том, что таких файлов будет несколько от разных поставщиков. и кроме того хотелось бы запускать импорт по cron, а так придется каждый раз переделывать файл вручную перед импортом.
И не совсем понятно - кроме "Яндекс предустановка импорта" есть ещё вариант выбора в рабочей версии? Потому что в демо нет.

Добавлено: 10.04.2023, 06:06
korshunov
norfin писал(а): таких файлов будет несколько от разных поставщиков.

А можете показать образцы ВСЕХ (или почти всех) таких файлов?

Добавлено: 10.04.2023, 06:12
norfin

Добавлено: 10.04.2023, 06:43
korshunov
В первом (и в третьем) категория задается как просто текст
<category>Controller</category>,
во втором через идентификатор
<categoryId>000001374</categoryId>
и дан отдельный список категорий с родителями.
И в первом данных о родительских категориях нет.

Если не брать в расчет указание категорий, то файлы почти однотипные. И тот модуль вроде бы должен такие обрабатывать. А на практике - пробуйте. Поскольку официальная поддержка Okay не спешит не только помочь, но и ответить на простенькие вопросы, то спасение утопающих - дело рук самих утопающих.

А если Вам надо к тому же по крону, то, по-моему, проще отдельную обработку написать.

norfin писал(а):И не совсем понятно - кроме "Яндекс предустановка импорта" есть ещё вариант выбора в рабочей версии?


Скорее всего что-то еще есть, но под Ваши структуры с вероятностью 99% не подойдет.

Добавлено: 10.04.2023, 07:40
norfin
Просто если там только Яндекс импорт, то проще взять более дешёвый модуль - https://okay-cms.com/products/import-tovarov-na-sajt-iz-yandexxml

Добавлено: 10.04.2023, 09:30
korshunov
Пробуйте. Но действуйте с оглядкой.

На приведенной Вами странице, с одной стороны, в истории обновлений стоят версии 4.3.2, 4.3.1. А с другой, в хлебных крошках стоит Главная - Дополнения для OkayCMS 2.*. И что представляет доработка реально, неизвестно.

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

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

Добавлено: 10.04.2023, 10:49
norfin
Спасибо. Буду думать

Добавлено: 11.04.2023, 14:16
виктор
norfin писал(а):Спасибо. Буду думать
Вы можете написать в телегу Виталию, мне они дописали этот модуль ( 2 недели назад) чтобы он воспринимал ад категории не только цифры. Сайт ТканиМария , скажите Виктор к вам обращался можно мне этот вариант модуля. может и подойдет.

Добавлено: 12.04.2023, 04:50
norfin
виктор писал(а):
norfin писал(а):Спасибо. Буду думать
Вы можете написать в телегу Виталию, мне они дописали этот модуль ( 2 недели назад) чтобы он воспринимал ад категории не только цифры. Сайт ТканиМария , скажите Виктор к вам обращался можно мне этот вариант модуля. может и подойдет.

Можно его контакты в личку?

Добавлено спустя 6 часов 37 минут:
виктор писал(а): сгенерировал сам правильный фид ( выбрал для прома) и он прекрасно работает по дефолту.
Тоже сгенерировал фид для прома, но он выглядит иначе и не проходит валидацию:
<shop date="2023-04-12 14:23">
<agency>OkayCMS</agency>
<email>info@okay-cms.com</email>
<url>https://vytratnyk.shop</url>
<platform>OkayCMS</platform>
<version>4.3.2</version>
<currencies>
<currency id="UAH" rate="1"/>
</currencies>
<catalog>
<category id="1">Принтери, БФП</category>
<category id="2" parentId="1">Лазерні</category>
</catalog>
<items>
<item id="2492" available="true">
<url>https://vytratnyk.shop/lazerni/bfp-hp-laserjet-serii-m141</url>
<name>БФП HP LaserJet серії M141</name>
<price>0</price>
<currencyId>UAH</currencyId>
<categoryId>2</categoryId>
<image>https://vytratnyk.shop/files/resized/products/mfpcanon_2.1200x1200.jpg</image>
<vendor>HP</vendor>
<param name="Технологія друку">Лазерний друк</param>
<param name="Виробник торгова марка">HP</param>
</item>
</items>
</shop>



Попробовал генерить также другие фиды. Ни один не прошёл.

Добавлено: 14.04.2023, 05:31
norfin
Подобрал формат. Может кому-то пригодится:

<?xml version="1.0" encoding="utf-8"?>
<!-- created with www.mysitemapgenerator.com -->
<!DOCTYPE yml_catalog SYSTEM "shops.dtd">
<yml_catalog date="2023-04-14 08:26">
<shop>
<name>Test</name>
<company>Test</company>
<url>https://Test.com.ua/</url>
<currencies>
<currency id="UAH" rate="1" />
</currencies>
<categories>
<category id="2731707003">Товары в наличии</category>
</categories>
<offers>
<offer id="401" available="true">
<url>https://Test.com.ua/product/asn-agro-5203-planshet-7-diuymiv/</url>
<price>23510</price>
<currencyId>UAH</currencyId>
<categoryId>2731707003</categoryId>
<picture>https://Test.com.ua/wp-content/uploads/2023/03/Clip2net_230314151846-4.png</picture>
<delivery>true</delivery>
<name>ASN-Agro 5203 + планшет 7 дюймів</name>
<description>Розмір екрану, дюймів: 7 Точність: 20-40 см</description>
<param name="Размер экрана" unit="дюйм">7</param>
</offer>
</offers>
</shop>
</yml_catalog>