Региональные поддомены
Всем привет. Возникла потребность вынести часть информации на региональные поддомены. Подскажите, как это грамотно сделать. Разделение на контексты здесь нелогично, потому как поддомены связаны между собой. Вижу страницы поддоменов как дочерние ресурсы специальных родителей. Полагаю, всё это можно реализовать с помощью плагина, но предчувствую проблемы, связанные с таким решением. В первую очередь, у страниц поддоменов будут не поддоменные урлы, т.е. будет видна часть урла, которой быть не должно. Возможно, есть и другие неприятности такого метода. Подскажите наилучший вариант реализации.
Комментарии: 5
Идеальное решение для поддоменов от Василия Наумкина в этой теме bezumkin.ru/sections/tips_and_tricks/2439/
Как я понимаю, есть проблема с использованием общих шаблонов во всех контекстах и получении сущностей 2-го контекста из первого. Поправьте, если я не прав. Я писал, что использование контекстов мне не подходит. Если это так, то нужен альтернативный вариант
А какая именно проблема с использованием общих шаблонов?
Сущности из других контекст можно получать принудительно указывая контекст.
Сущности из других контекст можно получать принудительно указывая контекст.
Ошибся. Шаблоны общие для всех контекстов. Пробую реализовать. Как задать главную страницу для поддомена?
У меня есть один сайтик с региональными поддоменами. Я сделал через подмену главной страницы. Вот плагин, может, поможет чем-то:
<?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;
}
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.