====== Поддомены для городов ====== - Нужно создать поддомены и указать, что они ссылаются на папку с сайтом. На некоторых хостингах это можно сделать создав псевдонимы к главному домену (Алиасы). - Настроить HostCMS на работу с новыми доменами. Для этого нужно перейти (Сайты -> Домены) и добавить * к основному домену (например: *.example.com). - "Научить" HostCMS понимать на каком поддомене он запущен. Для этого создадим наблюдатель Kad_Core_Command_Controller_Default_Observer и добавим перехватчик в конец файла bootstrap.php находящегося в корне сайта. Наблюдатель создает константу с названием города. Пример наблюдателя и перехватчика. > Core_Event::attach('Core_Command_Controller_Default.onBeforeShowAction', array('Kad_Core_Command_Controller_Default_Observer', 'onBeforeShowAction')); */ class Kad_Core_Command_Controller_Default_Observer { static public function onBeforeShowAction($object, $operation) { $sHost = $_SERVER['HTTP_HOST']; if(strpos($sHost, 'jaluzinof.ru')) { // вывод городов из ИС $informationsystemId = 21; $oGroups = Core_Entity::factory("informationsystem_item"); $oGroups->queryBuilder() ->where('informationsystem_id', '=', $informationsystemId) ->where('path', '=', substr($sHost, 0, strpos($sHost, 'jaluzinof.ru')-1)) ->where('active', '=', 1); $aoGroups = $oGroups->findAll(); if(count($aoGroups)) { define('TOWN', $aoGroups[0]->name); } else { define('TOWN', FALSE); } } else { define('TOWN', FALSE); } } } ===== Исправить ===== //[[xander_one@bk.ru|Артем Куц]] 2015/06/30 в 19:02// * В константе лучше хранить ID, а не текстовое название города. * Все настройки: хост, id и т.д. нужно вынести вверх наблюдателя.