К содержанию

Региональные поддомены

Всем привет. Возникла потребность вынести часть информации на региональные поддомены. Подскажите, как это грамотно сделать. Разделение на контексты здесь нелогично, потому как поддомены связаны между собой. Вижу страницы поддоменов как дочерние ресурсы специальных родителей. Полагаю, всё это можно реализовать с помощью плагина, но предчувствую проблемы, связанные с таким решением. В первую очередь, у страниц поддоменов будут не поддоменные урлы, т.е. будет видна часть урла, которой быть не должно. Возможно, есть и другие неприятности такого метода. Подскажите наилучший вариант реализации.
Алексей
Алексей
07 июня 2016, 11:34
modx.pro
5 149
Реклама

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

Роман Воропаев (Volk)
Роман Воропаев (Volk) Проверенный
08 июня 2016, 10:51
Идеальное решение для поддоменов от Василия Наумкина в этой теме bezumkin.ru/sections/tips_and_tricks/2439/
    Алексей
    Алексей Старожил
    08 июня 2016, 13:36
    Как я понимаю, есть проблема с использованием общих шаблонов во всех контекстах и получении сущностей 2-го контекста из первого. Поправьте, если я не прав. Я писал, что использование контекстов мне не подходит. Если это так, то нужен альтернативный вариант
      Роман Садоян
      Роман Садоян Проверенный
      08 июня 2016, 14:29
      А какая именно проблема с использованием общих шаблонов?
      Сущности из других контекст можно получать принудительно указывая контекст.
        Алексей
        Алексей Старожил
        08 июня 2016, 16:44
        Ошибся. Шаблоны общие для всех контекстов. Пробую реализовать. Как задать главную страницу для поддомена?
    Илья Уткин
    Илья Уткин Администратор
    08 июня 2016, 15:26
    У меня есть один сайтик с региональными поддоменами. Я сделал через подмену главной страницы. Вот плагин, может, поможет чем-то:
    <?php
    if ($modx->context-key == "mgr") {
      return;
    }
    switch ($modx->event->name) {
      case "OnHandleRequest":
        $domain = explode('.', $_SERVER['SERVER_NAME']);
        $city = array_shift($domain);
        $modx->setPlaceholder('city_alias', $city);
        if ($cityRes = $modx->getObject('modResource', array('parent' => 12, 'alias' => $city, 'published' => 1))) {
          $modx->setPlaceholder('city', $cityRes->id);
          $modx->setPlaceholder('city_name', $cityRes->menutitle);
          $modx->setOption('site_start', $cityRes->id);
          $modx->setPlaceholder('+site_start', $cityRes->id);
        } else {
          $modx->setPlaceholder('city', 0);
          $modx->setPlaceholder('city_name', 'Выберите город');
        }
        break;
      default: return;
    }
      Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.
      5