Немного о структуре 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, Architect
PHP, JavaScript, Node.JS, Python, HTML 5, CSS 3, MySQL, Bash, Linux Admin
Заказать работу
предложить оффер

Моя книга
Книга. Веб-разработчик. Легкий вход в профессию
Печатная книга
Веб-разработчик.
Легкий вход в профессию
Купить за 159₽
Последние вопросы
Список вопросов
Последние комментарии
Меню

Archive

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