Использование товаров в minishop2 из сторонней базы данных

Доброго времени суток!
Собственно вопрос в теме — насколько трудоемко использовать товары из другой базы.
Я представляю, как добавить поддержку базы в xpdo, но вот не имею представления, как подменить базу, из которой будут таскаться товары для сайта. (ведь там всплывает табличка modresource, пересечение айдишников, работа msgallery итд).
Сама проблема — имеется база на примерно 5000 товаров, к которым около 7000 изображений.

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

Прошу совета в реализации или ценника на разработку модуля, который позволил бы для товаров в минишопе указывать отдельную базу данных.
Все сайты лежат на одном сервере.
Айдишники родительских категорий можно привести к одинаковым.
Олег
24 сентября 2018, 19:12
modx.pro
1 562
0

Комментарии: 7

Дмитрий
24 сентября 2018, 20:03
0
    Алексей Шумаев
    25 сентября 2018, 08:34
    0
    В этом случае, я бы просто настроил синхронизацию товаров в вашем магазине с этой БД и всё.
    Ничего сложного тут нет, и весь функционал MS2 также будет в вашим услугам.
      Алексей Шумаев
      25 сентября 2018, 08:38
      0
      У меня есть подобный случай — одна база на несколько сайтов. Все сайты синхронизируют свои БД с общей базой товаров, но при этом независимы.
      Если БД с таблицей товаров доступна извне, то обращаетесь к ней напрямую, если нет — выгружайте на ftp например в csv и забирайте данные оттуда — это тоже без проблем работает.
        Олег
        27 сентября 2018, 14:39
        0
        Благодарю за ответ!
        А есть какое-то автоматизированное решение для синхронизации?
        К сожалению не сталкивался.

        Можно, конечно, написать php/shell скрипты, по крону дергать все товары с одинаковым class_key и из одной базы заливать во все остальные, но возникнет проблема с id-шниками, которые разные у разных страниц на всем сайте
          Алексей Шумаев
          27 сентября 2018, 15:29
          0
          У меня есть класс-заготовка, настраиваю под требования конкретного проекта. Как-то нет потребности в полностью автоматизированном решении — оно будет громоздким и всё равно требовать подстройки.
          Конечно, у товаров должно быть унифицированное поле — артикул или id какой-то внешней БД-источника. Какой id будет у ресурса в системе при этом значения не имеет.

          Попробуйте сделать так: загрузите на новый сайт товары из сторонней БД и артикулом укажите id товара в сторонней БД. Или расширьте таблицу msProduct (или modResource — по желанию) и пишите этот id в новое поле (например extID). Синхронизация будет идти по выбранному полю.
        Дмитрий
        25 октября 2018, 00:24
        0
        Алексей, синхронизация предпологает копирование из сторонней БД в БД магазина.
        Мой кейс похож на кейс ТС, но я бы хотел настроить не синхронизацию, а именно поменять источник данных для miniShop. С такой задачей не сталкивались?
          Алексей Шумаев
          25 октября 2018, 08:56
          0
          Нет. И не думаю, что это хорошая идея. Пахнет большими костылями (вмешательством в исходники, например) + есть же дополнения для ms2…
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      7