GWS: Сайты, группы, сторы

Михаил Бессолов, 09.07.09

Поддержка нескольких магазинов уже давно стала стандартом в мире ecommerce-приложений. Но во многих платформах эта реализация является элементарной и, в худшем случае, позволяет лишь локализовать витрины на разных языках. Чтобы дать владельцу магазина настоящую гибкость по управлению магазинами, без необходимости устанавливать приложение несколько раз, мы изначально заложили в Magento поддержку иерархической структуры сайтов и магазинов.

Данная статья открывает серию, посвященную этой иерархии, пронизывающей все уровни приложения. Сегодня мы рассмотрим лишь базовые уровни структуры магазинов и постараемся определиться с терминологией, используемой в панели управления и коде Magento.

Для начала давайте взглянем на абстрактную диаграмму сайтов, магазинов и групп магазинов:

Websites, Store Groups and Store Views Hierarchy #1

Как видно на рисунке, структура магазинов имеет 4 уровня иерархии:

  • Глобальный (global или default)
  • Уровень вебсайтов (website)
  • Уровень групп магазинов (store или store group)
  • Уровень магазинов (store views)

Глобальный уровень (global, default) представляет собой одну инсталляцию кода и одну базу данных, с которыми работает Magento.

В действительности, Magento поддерживает работу с несколькими базами данных. Например, для улучшения производительности можно использовать несколько серверов БД, построив master-slave репликацию, и сконфигурировать Magento для чтения данных со slave БД, и записи данных в master БД. Также Magento может использоваться в кластере, когда на каждом веб-узле кластера есть собственная копия кода Magento, и веб-узлы работают с одним, с двумя (master-slave), или с несколькими (один master для записи и по одному slave для чтения на каждый веб-узел) серверами БД. Но об этом мы еще расскажем, пока же, для простоты изложения, условимся считать, что одна инсталляция Magento работает с одной базой данных.

Теоретически, с незначительными изменениями кода (добавив, помимо уже существующей поддержки префиксов имён таблиц, также использование этих же префиксов для имён ключей и индексов), можно было бы устанавливать несколько экземпляров Magento в одну базу данных. Но вы сейчас увидите, почему в этом никогда не было необходимости

Уровень вебсайтов (website) позволяет:

  • различные базовые валюты для разных вебсайтов
  • назначать различные начальные цены для продуктов на разных вебсайтов
  • назначить разные статус одного и того же продукта на разных вебсайтах
  • разделить клиентские базы

Уровень групп магазинов (store или store group) позволяет:

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

Стандартные темы Magento также предоставляют блок для выбора группы сайтов на фронтенде.

Уровень магазинов (store view) позволяет:

  • задавать различные значение большинства атрибутов продуктов и категорий каталога
  • иметь различную видимость продуктов в разных магазинах

Стандартные темы Magento также предоставляют блок для переключения между магазинами на фронтенде.

Любые уровни иерархии позволяют задавать различные значения для подавляющего большинства конфигурационных параметров Magento, включая доменное имя и ссылки. Это позволяет как собрать воедино, так и разделить видимые клиентам магазины, например, разнеся их по различным доменам.

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

Давайте рассмотрим несколько практических примеров много-сайтовых инсталляций Magento.

Пример 1. Продавец поздравительных открыток с надписями на разных языках:

Websites, Store Groups and Store Views Hierarchy #2 - multi-language

  • Единый каталог продукции
  • Одна учетная валюта
  • Только электронные способы оплаты (напр. Paypal) и всемирная служба доставки (напр. DHL)
  • Несколько языковых версий

Пример 2. Мультинациональный бренд ювелирных украшений:

Websites, Store Groups and Store Views Hierarchy #3 - international brand

  • Единый каталог
  • Несколько региональных подразделений
  • Клиентская база сегментирована по регионам
  • Различные валюты учета в разных странах
  • Поддержка национальных платежных систем и служб доставки
  • Различные языки в странах присутствия

Пример 3. Интернет-магазин с широким ассортиментов продукции:

Websites, Store Groups and Store Views Hierarchy #4 - mall

  • Единая базовая валюта
  • Общая клиентская база
  • Различные типы продукции (мебель, электроника, одежда)

Демо-инсталляция такого магазина доступна по адресу www.magento-mall.com

Также рекомендую ознакомиться со обзором на английском языке:
Overview: How Multiple Websites & Stores Work

Написать комментарий