Немного о структуре osRealty
Пост рассказывающий немного о структуре CMS osRealty, о структуре каталогов, настройке ядра системы, а также о процессе запуска ядра и маршрутизации при открытии разделов сайта. Пост очень краток и призван лишь немного просветить вебмастера работающего с данной системой. В будущем будет выложен полноценный справочник по работе с системой.
Структура каталогов
| /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
Папка модулей содержит: голосование, блок логина, блок выбора регионов, блок ЛК, и прочие блоки.

Автор:






