skip to content
KAD::Wiki
User Tools
Log In
Site Tools
Search
Tools
Show page
Old revisions
Log In
>
You are here:
Приветствие
»
Для сотрудников
»
Разработка
»
HostCMS
»
Статьи (по модулям)
»
Роутинг
»
Поддомены для городов
private:koding:hostcms:modules:routing:poddomeny_dlja_gorodov
Media Files
====== Поддомены для городов ====== - Нужно создать поддомены и указать, что они ссылаются на папку с сайтом. На некоторых хостингах это можно сделать создав псевдонимы к главному домену (Алиасы). - Настроить HostCMS на работу с новыми доменами. Для этого нужно перейти (Сайты -> Домены) и добавить * к основному домену (например: *.example.com). - "Научить" HostCMS понимать на каком поддомене он запущен. Для этого создадим наблюдатель Kad_Core_Command_Controller_Default_Observer и добавим перехватчик в конец файла bootstrap.php находящегося в корне сайта. Наблюдатель создает константу с названием города. Пример наблюдателя и перехватчика. <file php observer.php> <?php defined('HOSTCMS') || exit('HostCMS: access denied.'); /** * Наблюдатель объявляет константу с городом, на основе текущего поддомена * * @author Kozub Boris, KAD Systems (©) 2014 * @author Shcherbakov Aleksandr, KAD Systems (©) 2015 * @date 14-06-2015 * Начало >> 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); } } } </file> ===== Исправить ===== //[[xander_one@bk.ru|Артем Куц]] 2015/06/30 в 19:02// * В константе лучше хранить ID, а не текстовое название города. * Все настройки: хост, id и т.д. нужно вынести вверх наблюдателя.
Save
Preview
Cancel
Edit summary
private/koding/hostcms/modules/routing/poddomeny_dlja_gorodov.txt
· Last modified: 27.06.17 в 14:46 by
maximzasorin_gmail.com
Page Tools
Show page
Old revisions
Export to PDF
Rename Page
Back to top