Какова оптимальная организация Magento решения для торговой сети с сотнями франчайзи?
Ситуация: существует сеть магазинов (назовем ее АБВ) с парой сотней франчайзи.
Франчайзи это отдельные бизнесы, которые продают товары сети под брендом сети. Т.е. например есть например магазины «АБВ Новые Васюки», «АБВ Дятлово», т.п.
Ассортимент у всех франчайзи практически одинаковый (возможность выставлять отдельные остатки и цены для разных магазинов — было бы неплохо, но не критично).
Принципиально чтобы покупатель мог выбирать «свой» магазин (как правило ближайший к нему) и заказ уходил этому «своему» магазину.
Соответственно магазин (франчайзи) должен видеть и обрабатывать только «свои» заказы.
Дизайн у всех магазинов практически одинаковый: разные контактные данные, и лого (чтобы там было написано «АБВ Новые Васюки», а не просто «АБВ»).
Количество товаров в каталоге — 5000-1000 SKU
Прием платежей и управление каталогом осуществляется Центром.
Вопрос: как оптимально организовать это в Magento eCommerce, чтобы система не повесилась и была удобной для продавцов и покупателей?
Дело в том, что back-end разделить все равно не получиться, будет общая админка на 100 сайтов, а это не очень удобно. Можно создать 100 вебсайтов и указывать какой дизайн будет у каждого, и какие товары можно купить. В общем тут много нюансов, и надо хорошо подумать прежде чем брать для этого Magento.
В Entrerprise версии вроде как есть разделение доступа на уровне веб-сайта и store:
Administrator Permission Roles on Website and Store Levels
Restrict access roles so that staff can view only the data to the stores relevant to them.
А для Community версии есть реализующие такие функции расширения. Вопрос как оно на практике работает :)
Еще есть большое опасение, что с таким количеством веб-сайтов или stores Magento повесится
Чего ей вешаться то? Там же разделение на уровне структуры, в один момент система работает в пространстве одного website и store view. Грубо говоря есть таблица, core_website по, и все данные выбираються через join на эту таблицу, независима от колличеста сайтов join будет делаться. А пару сотен записей в таблице это вообще смешно.
Меня насторожило это обсуждение на официальном форуме.
В частности один хлопец пишет:
I have a site that is running with 200+ websites/store views and 10,000+ products, So it can be done. The issue with magneto is not on the product count but the website and store count. The more websites and store views you add, the exponentially slow it will become, this is because of the way they process and save the “Configuration” settings and their indexes. (the system configuration cache store all the stores settings for every website and loads it all in memory.
Да так и есть, переиндексация будет занимать не мало времени, так же не все параметры системы разделяються на вебсайты. То что нужен будет не слабый сервер однозначно при выборе Magento. Возможно понадобитсья оптимизация или полная переработка отдельных узлов системы. Вот я и говорю, вы должны сами понимать почему именно Magento, если она покроет из коробки 70-80% нужного вам функционала, а на оставшиеся 20-30 у вас есть комманда опытнах magento разработчиков то можно пробовать, иначе вас ждет боль и страдания )))
Я с Маджентой уже довольно давно работаю, что без опытных программистов не обойтись это понятно. Вопрос в выборе оптимальной архитектуры для данного проекта.
Пока я вижу 2 варианта:
1. Использовать уровень store для каждого франчайзи и писать модуль выбора магазина покупателем.
Плюс: решение более «из коробки»
Минус: неизвестно насколько оно будет тормозить и какой сервер понадобится
2. Использовать один store и писать расширениe для разделения прав пользователей к заказам и некоторым другим функциям.
Плюс: теоретически оно должно работать быстрее
Минус: выглядит как более сложная кастомизация
Было бы очень интересно послушать мнения людей, которые делали что-то подобное
тут важно понимать - это все таки разные организации или одна.
Как посетители должный выбирать где купить? каждый сайт имеет отдельный адрес и продвигает его самостоятельно либо сайт один и например по геоайпи определяется ближайший магазин (склад).
Маркетинг (работа с клиентами магазина) ведется централизованно либо каждый работает со своими покупателями самостоятельно.
Деньги поступают на один счет либо у каждого магазина есть свой счет?
Если у них практически все разное, кроме имени, то имеет смысл сделать типовой сайт и тиражировать для каждого франчайзи. Если задач которые делаются централизованно больше, имеет смысл слегка допилить magento, и сделать разделение прав на уровне магазинов.