Структура CMS osRealty 2.1
Структура каталогов
/apanel/ |
В этой папке располагается Андминская часть скриптов |
/cache/ |
Содержит файлы кеша запросов к БД |
/img/ |
Папка содержит загружаемые изображения |
/lib/ |
Классы для работы ядра и вспомогательные для сервисов. |
/sys/ |
Некоторые функции ядра |
/theme/ |
Папка содержит шаблоны (html + php), а также функциональные скрипты для каждого раздела. Основной каркас шаблона /theme/NAME/index.php |
/config.php |
Конфиг. Настройка путей, параметров БД и кеша. |
/cities.php |
Обработчик Ajax запросов на получения списка городов, регионов, стран |
/index.php |
Инициализация ядра. |
/.htaccess |
Стоит обратить внимание на прописанные правила маршрутизации, mod_rewrite |
Настройка ядра
Настройка происходит в файле /config.php.
Настройка физических путей
Переменные |
Описание |
По умолчанию |
$settings |
Параметры БД |
|
$theme |
Папка с темой и функц. скриптами |
theme/realty21/ |
$timer_generate |
Отображение времени генерации страницы |
false |
$other_internal |
использовать другой шаблон для внутренних страниц, отличный от /theme/NAME/index.php, например /theme/NAME/internal.php где NAME это название темы (по умолчанию realty21) |
false |
$system_query_cache |
Кэширование некоторых SQL запросов |
true |
$antiddos |
antiddos защита системы, может работать в разных режимах |
false |
$registry['img'] |
Настройки параметров загрузки фото |
|
|
|
|
Запуск ядра.
При обращении пользователя на любую страницу, всегда запускается файл /ROOT_DOCUMENT/index.php этот файл подключает /config.php , а затем классы работы с БД и учетными записями пользователей, также в нем происходит маршрутизация по разделам сайта.
Также при старте инициализируется глобальный массив $registry содержащий в себе все конфигурационные переменные и прочие данные.
Маршрутизация.
При запросе главной страницы сайта «/», происходит вызов функционального скрипта /theme/NAME/component/fronpage/.model.php, где осуществляются запросы в БД, обработка данных и подготовка их к выводу в шаблон. Все данные помещаются в массив $registry.
Затем будет запущен скрипт основного шаблона
/theme/NAME/index.php, который внутри себя подключить шаблон раздела
/theme/NAME/component/fronpage/default.php
Таким образом получается, что каждый раздел состоит из папки расположенной в
/theme/NAME/component/РАЗДЕЛ/
/theme/NAME/component/РАЗДЕЛ/.model.php (запросы к БД, обработка)
/theme/NAME/component/РАЗДЕЛ/default.php (шаблон раздела, который подцепляется внутри главного шаблона)
Пример:
При запросе раздела «/com/realty/» (каталог недвижимости), запрос будет перенаправлен в .htaccess с помощью mod_rewrite на index.php, где далее произойдет подключение скриптов данного раздела
/theme/NAME/component/realty/.model.php (запросы к БД, обработка)
/theme/NAME/component/realty/default.php (шаблон раздела, который подцепляется внутри главного шаблона)
Папка /theme/NAME/module/, содержит скрипты модулей которые подключается инклудами во все том же главном шаблоне /theme/NAME/index.php
Папка модулей содержит: голосование, блок логина, блок выбора регионов, блок ЛК, и прочие блоки.