Немного о структуре osRealty

Author Автор: Роман Чернышов    Опубликовано: 18 июля 2012

Пост рассказывающий немного о структуре 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
$antiddosantiddos защита системы, может работать в разных режимах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

Папка модулей содержит: голосование, блок логина, блок выбора регионов, блок ЛК, и прочие блоки.

Category CMS, PHP     Tags

Оставить комментарий

Автор блога
Чернышов Роман
Роман Чернышов
Веб-разработчик, Full Stack
Senior, Architector
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

Мои проекты
Insurance CMS Love Crm CMS Совместные покупки Мой PHP Framework Хостинг для моих клиентов Лицензии на мой софт и поддержка