Serge Bezborodov
Мультисайт
Что такое мультисайт?
- один движок
- одна база
- одна админка
- система которая обслуживает один и более сайтов
Когда нужен мультисайт?
- региональные порталы
- сетки сайтов
- разные версии одной системы
Стандартная реакция:
- «Та че там сложного темы разные ставить»
Классический пример
Давайте рассмотрим пример!
socks.ruИнтернет магазин носочных изделий
Магазин socks.ru
- каталог продуктов
- цены в рублях
socks.ru
Магазин hello-kitty-socks.ru
hello-kitty-socks.ru
- другой дизайн- все тот же каталог, но показываем одну категорию- цены +5%- одна база пользователей- разделение статистики продаж
Мобильная версия socks.ru
- другой дизайн- для владельцев iOS устройств - цена +20%
m.socks.ru
- разделение статистики продаж
WL для socks.ru
- другой дизайн
noski.ru
- разделение статистики продаж
Что у нас есть?
socks.ru
hello-kitty-socks.rum.socks.ru noski.ru
Структура мультисайта
ID
Платформа
web mobile social
iOS Android FB VK
Локализация Сайт
socks.ru h-k-s.ru
noski.ru
Как сделать на скорую руку?
- привязываемся в коде к доменам, языкам
- хардкод
Как работать с этим в Yii?
- конфигурация в БД или файле
- компонент для управления мультисайтом
Пример конфигурации
Пример конфигурации
Не катит- ограниченная структура- сложность понимания
текущего состояния
Горизонтальная структура
web mobile socialПлатформы:Языки: русскийанглийский
WL: noski.ru
Сайты: socks.ru h-k-s.ru
Рабочий вариант
И в чем преимущество?
- гибкость- расширяемость- четкое понимание текущего состояния по ID- возможность развернуть в БД- переопределение доменов в локальном конфиге
Работаем в коде
Какие особенности?- в коде придется привязываться к названиям частей мультисайта или ID- у многих таблиц появится поле multisite_id- сложности с генерацией URL
- кроссдоменная авторизация
- неявные баги