Перейти к содержанию

Рекомендуемые сообщения

  • Решение

Модуль "Диспетчер YML\XML" 3.2

Модуль "Диспетчер YML\XML" для Opencart\ocStore версии 3.2

 

  • Предназначен для подключения к ИМ неограниченного количества поставщиков, предоставляющих прайс-листы и описания товаров в формате YML, XML, CSV, .
  • Подключение поставщиков предоставляющих АПИ для доступа к своим товарам (модули работы с API изготавливаются по заказу).
  • Для каждого поставщика возможно индивидуально настроить расписание обновлений цен и остатков через CRON
  • Подходит для наполнения МультиМагазина (когда вы хотите наполнять разные Магазины из одной админки окстора)
  • Модуль Интегрирован с HPM, который позволяет объединять товары - по цвету, объёму, размеру в Единую карточку товара. 
  • Наполнение Магазина из мульти язычных фидов данных(если у Магазина несколько языков и надо яндеск переводчиком обновить все поля, или в случае нескольких языков внутри xml или csv файла)
  • Можно использовать Диспетчер yml\xml как парсер сайтов. Например,  в случае указания поставщиком в офере url на карточку товара, добавляем нужные теги из домобъекта сайта донора.
  • аналогично парсингу html, для обновления любых полей в товаре,  можно делать запросы выборки по xpath в нужном xml или стороннем api сервисе. То есть  - сможете дополнить или обновить информацию в товаре, который уже есть внутри опенкарта - характеристики(атрибуты), опции(в том числе связанные или расширенные), изображения и любые другие сущности.
  • Есть интеграция с модулем Управление складами. Что позволяет синхронизировать Остатки ваших Поставщиков с заведёнными в Интернет магазине складами.
  • обновление SEO параметров - модуль можно использовать как генератор сео и любых мета тегов, и в отличии от других подобных, Диспетчер знает о товарах, из какого он поставщика и может воздействует на них с разной логикой.
  • Для пересчета цен товаров, представленных вашим поставщиком, в валюту вашего магазина Диспетчер интегрирован с модулем Мультивалютные товары
  • Если в XML много оферов-опций или опций с картинками, то в Диспетчере есть адаптация с модулями Изображения опций PRO, Связанные опции, Расширенные опции - можно создать опции по вашему ТЗ.

 

 

 

 

Основные возможности:

- Производители - автоматическое создание вендоров, фильтр при загрузке брендов. 

- Категории - автоматическое создание  дерева, фильтр при загрузке offers.

- Атрибуты - автоматическое создание, обновление.

- Индивидуальные настройки для каждого Поставщика.

- Индивидуальные логи для каждого Поставщика.

 

Структура модуля

 

Модуль состоит из основного блока и набора микро-модулей (драйверов), каждый из которых реализует обработку какого либо конкретного формата входных данных по общей схеме. На текущий момент в состав модуля входят следующие драйверы:
  • выборочная загрузка производителей
  • перенаправление производителей
  • создание производителей из панели модуля
  • загрузка товаров без указанного производителя (принудительное назначение одного из существующих на сайте производителей)
  • выборочная загрузка категорий
  • перенаправление категорий
  • создание категорий из панели модуля
  • настройка соответствий каждого входного параметра параметрам вашего ИМ
  • режимы добавления\обновления
  • загрузка изображений
  • связующие поля
  • модификаторы цены
  • шаблоны мета-тегов
  • расширенный блок модификации данных
  • лог загрузки
  • лог уведомлений о появлении у поставщика новых категорий, производителей, атрибутов
  • обработка YML - задача решена в общем виде и годится для подавляющего большинства фидов
  •  

Дополнительно (за отдельную плату) предоставляются драйверы для работы со следующими Поставщиками, использующими нестандартные форматы или теги, или предоставляющие собственное API:

 

Установка модуля

Модуль имеет единый дистрибутив для всех версий Opencart. Распакуйте архив zoxml2.160707.zip (или более позднюю версию) в корень вашего сайта (цифры оздачают дату сборки: ГГММДД)

Распакуйте архив zoxml2_yml.160707.zip (или более позднюю версию) в корень вашего сайта (цифры оздачают дату сборки: ГГММДД)

 

Для версий 1.5.Х дополнительно также распакуйте архив zoxml1.160630.zip (цифры оздачают дату сборки: ГГММДД)

Далее перейти в админке в список модулей, найти в нем "Диспетчер YML\XML" и активировать модуль.

Настройка модуля

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

  • Перейти в блок общего управления модулем
  • В закладке "СИСТЕМА" установить нужные параметры

Настройка Яндекс.Переводчика

 

Для работы с Яндекс.Переводчик необходимо получить ключ.

  • Нажмите на "Получить ключ!".
  • Получите ключ
  • Введите полученный ключ и сохраните настройки модуля

zoxml2_ya_tr.jpg

 

 

Работа с модулем

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

Добавление поставщика

  • Перейти в блок общего управления модулем
  • В закладке "ПОДКЛЮЧИТЬ ПОСТАВЩИКА" выберите из списка тип входного фида
  • В открывшейся строке "ИМЯ" введите любое удобное для вас имя этого поставщика, например: ООО "Маркет"
  • В остальных открывшихся строках указать необходимые параметры: URL (если требуется), ЛИЦЕНЗИЯ (если требуется)
  • Нажмите "ДОБАВИТЬ"

Настройка поставщика

zoxml2_main.jpg

В левой колонке модуля расположен список подключенных поставщиков.

  • Выберите нужного поставщика из списка
  • Установите необходимые базовые параметры
  • Сохраните настройки
  • Нажмите "Загрузить производителей, категории и атрибуты"
  • По окончании загрузки приступайте к настройке производителей, категорий и атрибутов

Настройка шаблонов

 

Для каждого поставщика возможна индивидуальная настройка шаблонов мета-тегов:

 

zoxml2_meta.jpg

 

Настройка производителей

zoxml2_vendors.jpg

  • Войти в закладку "ПРОИЗВОДИТЕЛИ" выбранного поставщика
  • Если нужный вам производитель отсутствует на сайте, то будет активна кнопка "Добавить" (также можете добавлять производителей обычным способом)
  • Если нужный вам производитель уже есть на сайте, в т.ч. он может присутствовать в иной транскрипции, то просто выберите его из выпадающего списка
  • Сохраните настройки

Настройка категорий
zoxml2_category.jpg

  • Войти в закладку "КАТЕГОРИИ" выбранного поставщика
  • Если нужная вам категория отсутствует на сайте, то можете добавить категорию обычным способом через меню Каталог->Категории

     

  • Если нужная вам категория уже есть на сайте, в т.ч. она может присутствовать в иной транскрипции или быть вложена в другую категорию, то просто выберите ее из выпадающего списка
  • При необходимости можно воспользоваться дополнительной функцией "СОЗДАТЬ ВСЕ КАТЕГОРИИ" в разделе "УПРАВЛЕНИЕ". В этом случае на сайте будет воссоздана полная иерархия категорий, как и у поставщика

     

  • Сохраните настройки


Настройка опций товара
Стандарт YML не поддерживает возможность описывать опции товара. Но модуль содержит встроенный механизм вызова пользовательских скриптов, помощью которых можно обработать практически любые нестандарные данные, в том числе загружать и обновлять опции товара. По работе пользовательских скриптов обращайтесь на линию поддержки.

 

Поставщик textiloptom.net дает опции товара. По настройке обратитесь к описанию работы с этим драйвером.
Настройка атрибутов товара
zoxml2_option.jpg

  • Войти в закладку "АТРИБУТЫ\ОПЦИИ" выбранного поставщика
  • Если нужный вам атрибут отсутствует на сайте, то добавьте его обычным способом через панель управления атрибутами сайта
  • Если нужный вам атрибут уже есть на сайте, в т.ч. он может присутствовать в иной транскрипции, то просто выберите его из выпадающего списка
  • Сохраните настройки

Работа с блоком модификации данных "на лету"

Модуль позводяет модифицировать:

  • описание товара,
  • название товара,
  • модель,
  • цену,
  • количество,
  • значения атрибутов и опций

 

варианты модификации для обработки тега available:

zoxml2_available.jpg

другие варианты модификации:

  • замена найденного фрагмента
  • вставка перед\после найденного фрагмента
  • обработка с помощью регулярных выражений
  • перевод с разных языков - «Яндекс.Переводчик»

zoxml2_replace.jpg

 

Загрузка\обновление товаров

  • Выберите поставщика из списка
  • Нажмите иконку "Загрузить товары"

Удаление поставщика

  • Выберите поставщика из списка
  • Нажмите иконку "Удалить поставщика"
  • В появившемся блоке запроса подтверждения подтвердите удаление. При отсутствии действий со стороны пользователя блок запроса подтверждения исчезнет через 10 секунд.

Лог загрузки

 

zoxml2_category.jpg

 

Лог событий

 

zoxml2_events.jpg

 

Настройка CRON

 

Для каждого поставщика возможно индивидуально настроить расписание обновлений цен и остатков через CRON

 

В закладке "УПРАВЛЕНИЕ" для каждого поставщика приводится индивидуальная команда для запуска задачи:

 

zoxml2_cron.jpg

 

Лицензирование модуля

  • приобретая модуль вы получаете право его использования на одном публичном домене
  • использование на локальных серверах не ограничивается
  • Дополнение является объектом авторского права и принадлежит его создателю
  • Вы не можете передавать, продавать, распространять, обмениваться и сдавать в аренду какую-либо часть дополнения
  • Вы не можете размещать дополнение на других сайтах, чтобы оно было доступно для скачивания

Демо-сайт:
https://h5007.h5.ose.su/admin/index.php?route=extension/module/zoxml2&autologin

demo\demo

Поддержка

  • Поддержка осуществляется @ncv
  • При обращении в поддержку обязательно указывайте адрес сайта на котором установлен модуль, версию движка, описание проблемы (желательно со скриншотом). По возможности сразу добавляйте доступ в админку (достаточно режима демонстрации) - это сильно упрощает работу и экономит время.
  • Все заинтересованные могут получить демонстрационный доступ к нашему модулю с вашим поставщиком перед совершением покупки.
  • Не взимается плата за анализ и проверку фидов данных в рамках предпродажной консультации. 
  • Если у вас возникли вопросы перед покупкой модуля или вам нужна помощь, не стесняйтесь обращаться к нам. Вы можете оставить личное сообщение или задать свой вопрос в соответствующей теме поддержки

Расширение функционала

  • функционал модуля постоянно расширяется
  • Пишите, если считаете нужным добавить в модуль какую нибудь полезную функцию - ваши пожелания будут учтены в следующих версиях

Рекомендации и FAQ:

  • для работы с фидами, содержащими большое количество производителей или категорий добавьте в файл .htaccess строку:
    php_value max_input_vars 20000
  • модуль очень требователен в хостингу. рекомендуется использование VDS(VPS). Объем доступной памяти должен как минимум в 10 раз превышать размер самого большого фида. Так, если самый большой фид имеет размер 90Мб, то на хостинге должно быть не менее 1Гб памяти
  • модуль не работает в "Режиме обслуживания"
  • не забывайте чистить логи! Если у вас при входе в модуль возникает ошибка типа Fatal error: Allowed memory size of 134217728 bytes exhausted или подобная, то для очистки логов сделайте повтор

 

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

пусть сейчас будет так, а осенью уже будем думать... Так как сейчас начали делать аналог Диспетчера YML\XML, то по идее продавать будем его, как закончим.

 

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

чзв:

У нас было 2 поставщика, но при загрузке одной и той же категории товаров у них, происходили дубли. Т.е. один и тот же товар был дважды на сайте... Вот в чем проблема.

ответ:

чтобы не было таких дублей в ПОЛЬЗОВАТЕЛЬСКИЙ ВАЛИДАТОР ДОБАВЛЕНИЯ впишите Skip_if_SKU_exist
будет добавляться только один, от того поставщика, что загружается первым
остальные будут заблокированы

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

В 28.05.2022 в 11:35, ncv сказал:

чзв:

Можете это также прикрепить к модулю в "ЧаВо".

Ссылка на комментарий
Поделиться на другие сайты

В 28.05.2022 в 14:27, Technical Department сказал:

Можете это также прикрепить к модулю в "ЧаВо".

спасибо, позже.

Если в фиде данных у вас цены в $ - то самый простой способ перевода в рубли:

- в графу ПОЛЬЗОВАТЕЛЬСКИЙ СТАРТ впиши: USD_get_rate_from_CB_RF
- курс будет неявно подставляться в графу Шаг 2 - умножить результат на: в разделе ФОРМУЛА МОДИФИКАЦИИ ЦЕНЫ:

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...

Добрый день! Подскажите пожалуйста, после смены VPS при попытке загрузить поставщика, выходит 404 ошибка. тоже самое при попытке создать новую загрузку

Спойлер

image.png.f696368d27e8c50901fa889330cada15.png

 

Ссылка на комментарий
Поделиться на другие сайты

Добрый, 
доступ в админку и на хостинг, посмотрю

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

  • 3 недели спустя...
В 24.06.2022 в 12:36, ncv сказал:

image.png.099b2ac8f21c311b993c7f201ba850d0.png

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

приобретал еще модуль у разработчика, подскажите пожалуйста, есть проблема на сайте., склоняюсь что виноват модуль Диспетчер YML
Суть проблемы в том,что с товаров периодически слетают ЧПУ (со всех товаров на сайте , не только те что загружаются от поставщиков) 

в логе есть ошибка 

2022-07-15 22:56:31 - PHP Notice: Error: MySQL server has gone away<br />Error No: 2006<br />SELECT category_id FROM oc_product_to_category WHERE product_id = '58579' ORDER BY main_category DESC LIMIT 1 in сайт.ru/system/modification/system/library/db/mysqli.php on line 44
2022-07-15 22:56:31 - PHP Notice: Trying to get property of non-object in сайт.ru/vqmod/vqcache/vq2-system_modification_catalog_controller_common_seo_pro.php on line 618

 

Слишком много запросов к базе, я так полагаю.
На сколько мне память не изменяет, Игорь что то делал, чтобы ошибки этой не возникало. Но это было давно когда только мы установили модуль. 
с моей стороны могли быть добавлены не верно ИНДЕКСЫ в базе данных,что вызвало ошибку.( не знаю могли ли индексы вызвать ошибку) 

Нужна Ваша помощь!

Ссылка на комментарий
Поделиться на другие сайты

9 минут назад, Алекс сказал:

склоняюсь что виноват моду

Нет. Логика Диспетчер yml\xml - создавать чпу при первом наполнении.  То есть delete и  update не используется.

 

13 минут назад, Алекс сказал:

могли ли индексы вызвать ошибку

Создание индексов - не удаляет данные

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

1 минуту назад, ncv сказал:

Нет. Логика Диспетчер yml\xml - создавать чпу при первом наполнении.  То есть delete и  update не используется.

 

Создание индексов - не удаляет данные

Создавать это понятно.

Но из-за множества запросов к базе,слетает сео урл чпу

 

Тут именно в запросах дело -запросы от модуля.. 

 

Ссылка на комментарий
Поделиться на другие сайты

2 минуты назад, Алекс сказал:

множества запросов к базе,слетает сео урл чпу

Чудеса. Но на сколько я знаю - даже миллион insert  в бд не вызовет транкейт таблицы.

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

5 часов назад, Алекс сказал:

2022-07-15 22:56:31 - PHP Notice: Error: MySQL server has gone away<br />Error No: 2006<br />SELECT category_id FROM oc_product_to_category WHERE product_id = '58579' ORDER BY main_category DESC LIMIT 1 in сайт.ru/system/modification/system/library/db/mysqli.php on line 44
2022-07-15 22:56:31 - PHP Notice: Trying to get property of non-object in сайт.ru/vqmod/vqcache/vq2-system_modification_catalog_controller_common_seo_pro.php on line 618

Тут всё же больше вопросов именно к хостингу. Падает именно MySQL сервер. Причём именно падает, по своим каким-то причинам.

Причём падает он на довольно простом запросе. Тут может быть таблица битая, что приводит к падению. Может памяти не хватает, но должна быть причина падения.

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

 

Ссылка на комментарий
Поделиться на другие сайты

В 16.07.2022 в 10:24, ncv сказал:

Чудеса. Но на сколько я знаю - даже миллион insert  в бд не вызовет транкейт таблицы.

Лог медленных запросов 
Лог журнала ошибок 
все указывает на ошибку от Диспетчер YML

mysql_slow.log files.zip

Ссылка на комментарий
Поделиться на другие сайты

Добавьте индекс в таблицу oc_product_option_value для столбца sku.

 

digest2.txt

 

UPD: Если у вас на сайте на странице категорий используются опции, то посмотрите в сторону оптимизации функции getProductOptions. Это старая статья, решение нужно будет адаптировать под вашу версию движка.

Изменено пользователем halfhope

Телеграмм - halfhope. 

Ссылка на комментарий
Поделиться на другие сайты

14 минут назад, halfhope сказал:

Добавьте индекс в таблицу oc_product_option_value для столбца sku.

 

digest2.txt 6 \u043a\u0411 · 2 загрузки

 

UPD: Если у вас на сайте на странице категорий используются опции, то посмотрите в сторону оптимизации функции getProductOptions. Это старая статья, решение нужно будет адаптировать под вашу версию движка.

спасибо, попробую.
индексы добавил 

Ссылка на комментарий
Поделиться на другие сайты

В 16.07.2022 в 16:02, mpn2005 сказал:

Причём падает он на довольно простом запросе. Тут может быть таблица битая, что приводит к падению. Может памяти не хватает, но должна быть причина падения.

 

Я готов выдавать всем форумчанам хостинг со своего сервера - как раз в данном случае, если разместить сайт из бакапа  и проверить  Диспетчер YML\XML по полной. И если проблем не будет, то тогда предъявлять Хостеру за ограничения.

 

В 16.07.2022 в 10:01, Алекс сказал:

Слишком много запросов к базе, я так полагаю.

image.png.7a2f633a3bf8756abeab0f6b707a7de4.png

поставьте галки как у меня - и  задержку имеет смысл увеличить - ну для проверки.

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

20 часов назад, Ruslan057 сказал:

Подскажите стоимость драйвера для b2b.merlion.com

4тр.

могу сделать Демо стенд с вашими доступами в их API

Создание и поддержка скриптов по работе с API - телеграмм - ncv77

Ссылка на комментарий
Поделиться на другие сайты

Добрый день, не получается сделать по вашему примеру регулярку, для дублирования атрибута, подскажите, как правильно написать

<param name="Размер обуви" unit="RU">35</param>

пробовал сделать так 

искать - /\<param name="Размер обуви"\>(.*)\</
данные - <param name="Размер обуви"2>$2</<param name="Размер обуви"2>

не получается

Ссылка на комментарий
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

  • Последние посетители   0 пользователей онлайн

    • Ни одного зарегистрированного пользователя не просматривает данную страницу
×
×
  • Создать...