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

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


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

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

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

 

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

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

    Производители

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

     

    Модуль состоит из основного блока и набора микро-модулей (драйверов), каждый из которых реализует обработку какого либо конкретного формата входных данных по общей схеме. На текущий момент в состав модуля входят следующие драйверы:
  • обработка YML - задача решена в общем виде и годится для подавляющего большинства фидов
  • Дополнительно (за отдельную плату) предоставляются драйверы для работы со следующими поставщиками, использующими нестандартные форматы или теги, или предоставляющие собственное API:
  • textiloptom.net (API)
  • odeyalaoptom.ru (API)
  • shopntoys.ru (API)
  • commerceML (1C)
  • qpstol.ru (YML со Связанными опциями)
  • gifts.ru (API) - рекомендуется использовать hpm модуль от @HyperLabTeam для связки товаров
  • happygifts.ru (API) - дополнительно требуются модули "Связанные опции", "Изображения опций ПРО", "Живая цена"
  • api.samsonopt.ru
  • api.treolan.ru
  • b2b.merlion.com

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

Модуль имеет единый дистрибутив для всех версий 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://yml-marketplace-dispatcher.isp3.ose.su/admin/index.php?route=extension/module/zoxml2

demo\demo

Поддержка

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

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

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

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

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

 

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

Воспользуйтесь расширенным поиском по форуму opencart Воспользоваться поиском

Ознакомьтесь с руководством по использованию opencart Перейти к Документации

Расширьте возможности интернет-магазина дополнениями Подобрать Модуль

Выберите исполнителя для вашего технического задания Выбрать Исполнителя

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

 

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

чзв:

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

ответ:

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

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

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

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

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

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

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

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

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

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

Спойлер

image.png.f696368d27e8c50901fa889330cada15.png

 

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

  • 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 минут назад, Алекс сказал:

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

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

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

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

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

 

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

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

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

 

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

 

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

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

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

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

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

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
Ссылка на комментарий
Поделиться на другие сайты

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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