Решение представляет компонент, позволяющий создавать мультиязычные сайты на базе основного шаблонного сайта. Как это работает. Есть мультиязычный сайт, созданный на трех связанных контекстах(3 языка). К нему в админку есть доступ у администратора и контентщика. При клонировании сайта появятся три новых контекста, новый контент пользователь. Политики доступа настроены так что контент менеджер каждого сайта видит только три своих контекста и у него своя папка для медиа. Доступ ко всем сайтам есть только у главного администратора.
Базовые требования:
- modx revo 2.6.0
- установленные дополнения: MIGX, Babel
Базовая сборка сайта:
- Три контекста для каждого из языков, связанных между собой с помощью babel компонента. Контексты: create-ua, create-ru, create-en
- Собранные на migx компоненты: news, news_categories, blogs, blogs_categories
Компонент. Структура:
- Index файл: core/components/create_site/index.php
- Модель: core/components/create_site/model/create_site/
- Логика компонента находится в core/components/create_site/includes/
Описание работы компонента - компонент состоит из модулей, каждый из которых отвечает за копирование/создание отдельных сущностей сайта. Модули используют стандартные процессоры modx`а где это возможно, в остальном - это кастомный код и запросы. Модули:
- Дублирование контекстов
- Создание настроек контекстов
- Создание медиа источников
- Создание пользователей
- Создание migx компонентов
- Общие настройки