Реализация мультисайтовости на Modx Revo

Пытаюсь реализовать мультисайтовость в одной админке, с доменами на латинице проблем нет, а вот как примирить систему с кириллицей? Пример, у меня 3 сайта:

https:site1.ru
https:site2.ru
https: сайт3.рф

Использую плагин:

<?php

if ($modx->event->name != 'OnHandleRequest' || $modx->context->key == 'mgr') {return;}

$host = $_SERVER['HTTP_HOST'];

$q = $modx->newQuery('modContextSetting', array('key' => 'http_host', 'value' => $host));
$q->select('context_key');

$tstart = microtime(true);

if ($q->prepare() && $q->stmt->execute()) {
$modx->queryTime += microtime(true) — $tstart;
$modx->executedQueries++;
// Получаем ключ контекста
if ($context = $q->stmt->fetch(PDO::FETCH_COLUMN)) {
// Web инициализируется в index.php — на него переключаться не нужно
if ($context != 'web') {
$modx->switchContext($context);
}
}
}

Соответсвтенно, при использовании латинских доменов название контекста совпадает с http_host, а вот создать контекст на кириллице без глюков в modx не получается.
Сергей
14 марта 2024, 10:46
modx.pro
1
773
0

Комментарии: 3

Руслан Алеев
14 марта 2024, 18:06
0
См. в сторону snipp.ru/php/punycode
    Олег Захаров
    15 марта 2024, 02:14
    1
    0
    Не совсем понял в чем проблема, покажу как я делал — и у меня все работает без проблем:
    Настройки контекста (затер данные немного, без разрешения собственника не могу светить):
    или ссылка на фото на Яндекс.Диск https://disk.yandex.ru/i/K_HAhwSm7znIbg
    Название в Общей информации:
    или или ссылка на фото на Яндекс.Диск
    https://disk.yandex.ru/i/kbMoT84UJfDNWA
    Как видно на картинке название контекста указываю домен кириллицей и абракадаброй преобразованных на латиницу непонятно нечелевочески названий, чтобы было легче ориентироваться в админке и при переключении контектстов.
      Сергей
      19 марта 2024, 10:55
      0
      Не догадался перевести в пуникод. Теперь всё работает, спасибо!
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      3