Использование товаров в minishop2 из сторонней базы данных
Доброго времени суток!
Собственно вопрос в теме — насколько трудоемко использовать товары из другой базы.
Я представляю, как добавить поддержку базы в xpdo, но вот не имею представления, как подменить базу, из которой будут таскаться товары для сайта. (ведь там всплывает табличка modresource, пересечение айдишников, работа msgallery итд).
Сама проблема — имеется база на примерно 5000 товаров, к которым около 7000 изображений.
К сожалению эта база вместе с изображениями копируется на около 40 сайтов, и ладно бы только место — базы приходится обновлять и актуализировать, для чего каждому товару присвоен уникальный артикул, по которому и проходит обновление, приходится повторять для всех баз.
Прошу совета в реализации или ценника на разработку модуля, который позволил бы для товаров в минишопе указывать отдельную базу данных.
Все сайты лежат на одном сервере.
Айдишники родительских категорий можно привести к одинаковым.
Собственно вопрос в теме — насколько трудоемко использовать товары из другой базы.
Я представляю, как добавить поддержку базы в xpdo, но вот не имею представления, как подменить базу, из которой будут таскаться товары для сайта. (ведь там всплывает табличка modresource, пересечение айдишников, работа msgallery итд).
Сама проблема — имеется база на примерно 5000 товаров, к которым около 7000 изображений.
К сожалению эта база вместе с изображениями копируется на около 40 сайтов, и ладно бы только место — базы приходится обновлять и актуализировать, для чего каждому товару присвоен уникальный артикул, по которому и проходит обновление, приходится повторять для всех баз.
Прошу совета в реализации или ценника на разработку модуля, который позволил бы для товаров в минишопе указывать отдельную базу данных.
Все сайты лежат на одном сервере.
Айдишники родительских категорий можно привести к одинаковым.
Комментарии: 7
В этом случае, я бы просто настроил синхронизацию товаров в вашем магазине с этой БД и всё.
Ничего сложного тут нет, и весь функционал MS2 также будет в вашим услугам.
Ничего сложного тут нет, и весь функционал MS2 также будет в вашим услугам.
У меня есть подобный случай — одна база на несколько сайтов. Все сайты синхронизируют свои БД с общей базой товаров, но при этом независимы.
Если БД с таблицей товаров доступна извне, то обращаетесь к ней напрямую, если нет — выгружайте на ftp например в csv и забирайте данные оттуда — это тоже без проблем работает.
Если БД с таблицей товаров доступна извне, то обращаетесь к ней напрямую, если нет — выгружайте на ftp например в csv и забирайте данные оттуда — это тоже без проблем работает.
Благодарю за ответ!
А есть какое-то автоматизированное решение для синхронизации?
К сожалению не сталкивался.
Можно, конечно, написать php/shell скрипты, по крону дергать все товары с одинаковым class_key и из одной базы заливать во все остальные, но возникнет проблема с id-шниками, которые разные у разных страниц на всем сайте
А есть какое-то автоматизированное решение для синхронизации?
К сожалению не сталкивался.
Можно, конечно, написать php/shell скрипты, по крону дергать все товары с одинаковым class_key и из одной базы заливать во все остальные, но возникнет проблема с id-шниками, которые разные у разных страниц на всем сайте
У меня есть класс-заготовка, настраиваю под требования конкретного проекта. Как-то нет потребности в полностью автоматизированном решении — оно будет громоздким и всё равно требовать подстройки.
Конечно, у товаров должно быть унифицированное поле — артикул или id какой-то внешней БД-источника. Какой id будет у ресурса в системе при этом значения не имеет.
Попробуйте сделать так: загрузите на новый сайт товары из сторонней БД и артикулом укажите id товара в сторонней БД. Или расширьте таблицу msProduct (или modResource — по желанию) и пишите этот id в новое поле (например extID). Синхронизация будет идти по выбранному полю.
Конечно, у товаров должно быть унифицированное поле — артикул или id какой-то внешней БД-источника. Какой id будет у ресурса в системе при этом значения не имеет.
Попробуйте сделать так: загрузите на новый сайт товары из сторонней БД и артикулом укажите id товара в сторонней БД. Или расширьте таблицу msProduct (или modResource — по желанию) и пишите этот id в новое поле (например extID). Синхронизация будет идти по выбранному полю.
Алексей, синхронизация предпологает копирование из сторонней БД в БД магазина.
Мой кейс похож на кейс ТС, но я бы хотел настроить не синхронизацию, а именно поменять источник данных для miniShop. С такой задачей не сталкивались?
Мой кейс похож на кейс ТС, но я бы хотел настроить не синхронизацию, а именно поменять источник данных для miniShop. С такой задачей не сталкивались?
Нет. И не думаю, что это хорошая идея. Пахнет большими костылями (вмешательством в исходники, например) + есть же дополнения для ms2…
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.