Шаг 1
Создаем плагин switchContextDomain на событие OnMODXInit:
if ($modx->event->name != 'OnMODXInit' || $modx->context->key == 'mgr') {
return;
}
if ($host = str_replace('www.', '', $_SERVER['HTTP_HOST'] ?: $_SERVER['SERVER_NAME'])) {
// Выбираем контексты с настройкой http_host
$q = $modx->newQuery('modContextSetting', array('key' => 'http_host', 'value:!=' => ''));
$q->select('context_key as ctx, value as host');
$tstart = microtime(true);
if ($q->prepare() && $q->stmt->execute()) {
// Учитываем наш запрос в БД
$modx->queryTime += microtime(true) - $tstart;
$modx->executedQueries++;
while ($row = $q->stmt->fetch(PDO::FETCH_ASSOC)) {
// Если нашли нужный контекст - переключаем на него
if ($row['host'] == $host) {
$modx->switchContext($row['ctx']);
break;
}
}
}
}
Шаг 2
Назначаем контексту web настройки:
http_host = domain1.ru
site_start = ID главного ресурса в текущем контексте
site_url = http://domain1.ru/
Шаг 3
Назначаем контексту domain2 настройки:
http_host = domain2.ru
site_name = Название второго сайта
site_start = ID главного ресурса в текущем контексте
site_url = http://domain2.ru/
Итого
Как видите, все довольно просто, что называется, до безобразия!