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

Правила раздела: faq.php?mode=okay
Модератор: Модераторы

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #1 norfin » 07.04.2023, 04:43

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


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

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #2 korshunov » 07.04.2023, 06:55

Ваш файл имеет структуру
<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. Совсем не похоже, чтобы проверялось качество описания.

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

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

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #3 norfin » 07.04.2023, 07:48

Спасибо. Меня вот тоже смущает отсутствие ответа от разработчиков на вопрос о модуле.

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

виктор
виктор
Репутация: 4
Сообщения: 75
Зарегистрирован: 18.11.2017
С нами: 6 лет 4 месяца

Сообщение #4 виктор » 08.04.2023, 10:51

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

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #5 korshunov » 09.04.2023, 06:34

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

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

виктор
виктор
Репутация: 4
Сообщения: 75
Зарегистрирован: 18.11.2017
С нами: 6 лет 4 месяца

Сообщение #6 виктор » 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>

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #7 korshunov » 09.04.2023, 11:09

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

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

виктор
виктор
Репутация: 4
Сообщения: 75
Зарегистрирован: 18.11.2017
С нами: 6 лет 4 месяца

Сообщение #8 виктор » 09.04.2023, 13:28

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

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #9 norfin » 10.04.2023, 05:34

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

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

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #10 korshunov » 10.04.2023, 06:06

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

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

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #11 norfin » 10.04.2023, 06:12


korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #12 korshunov » 10.04.2023, 06:43

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

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

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

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


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

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #13 norfin » 10.04.2023, 07:40

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

korshunov
korshunov
Репутация: 146
Сообщения: 1854
Зарегистрирован: 03.12.2015
С нами: 8 лет 3 месяца
Skype

Сообщение #14 korshunov » 10.04.2023, 09:30

Пробуйте. Но действуйте с оглядкой.

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

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

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

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #15 norfin » 10.04.2023, 10:49

Спасибо. Буду думать

виктор
виктор
Репутация: 4
Сообщения: 75
Зарегистрирован: 18.11.2017
С нами: 6 лет 4 месяца

Сообщение #16 виктор » 11.04.2023, 14:16

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

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #17 norfin » 12.04.2023, 04:50

виктор писал(а):
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>



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

norfin
norfin
Репутация: 0
Сообщения: 65
Зарегистрирован: 03.05.2022
С нами: 1 год 10 месяцев

Сообщение #18 norfin » 14.04.2023, 05:31

Подобрал формат. Может кому-то пригодится:

<?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>


Название раздела: Баг-репорт OkayCMS (Сообщения об ошибках)
Правила раздела: faq.php?mode=okay

Быстрый ответ


Введите код в точности так, как вы его видите. Регистр символов не имеет значения.
Код подтверждения

   

Вернуться в «Баг-репорт OkayCMS (Сообщения об ошибках)»

Кто сейчас на форуме (по активности за 5 минут)

Сейчас этот раздел просматривают: 21 гость