Административная часть сайта
Инициализация административной части похожа на инициализацию пользовательской части сайта. Но имеет свои особенности из-за различия структуры модуля и доступа к данным.
Если файл index.php определил, что запрошена административная часть, то подключается файл adm/index.php. Файл выполняет следующие функции:
- подключение всех «жизненно важных» файлов;
- инициация основного объекта системы.
Основной объект системы – экземпляр класса Init_admin, описанный в файле adm/includes/init.php.
При инициации основного объекта системы происходит:
- старт сессии;
- определение пользователя и проверка доступа к административной части;
- определение языковой версии данных для редактирования;
- определение модуля;
- подключение администрирования модуля;
- подключение шаблона административной части.
Экземпляр класса Init_admin передается во все другие объекты и доступен из любого места системы в виде переменной $this->diafan
.
Таким образом, в любом месте системы можно получить глобальные данные:
- общие данные;
- общие функции;
- объекты классов-подключений.
Теперь подробнее об этих данных:
Общие данные
$this->diafan->installed_modules
– массив данных с установленными модулями;Пример:
if(in_array('search', $this->diafan->installed_modules))
{
// модуль «Поиск на сайте» установлен и можно к нему обращаться
}$this->diafan->rewrite_variable_names
– список всех переменных, доступных для использования в URL;$this->diafan->current_module
– модуль текущего исполняемого файла.
Общие функции
Класс Init_admin наследует абстрактный класс Core (includes/core.php). Все функции этого класса можно вызвать в виде:
$this->diafan->название_функции();
Пример:
// обрезаем текст до 50 символов, сохраняя полными слова на конце
$short_text = $this->diafan->short_text($text, 50);
Объекты классов-подключений
В основном объекте инициируются классы:
- кеширование (класс
Cache
, файл includes/cache.php, вызывается$this->diafan->_cache
) – вся работа с кэшем; - маршрутизатор (класс
Route
, файл includes/route.php, вызывается$this->diafan->_route
) – доступ к переменным, передаваемым в URL, а также генерирование, сохранение, получение ЧПУ; - шаблоны модулей (класс
Template
, файл includes/template.php, вызывается$this->diafan->_tpl
) – подключение шаблонов модулей, обработка текста из визуального редактора; - парсер шаблонных тегов (класс
Parser_theme
, файл includes/parser_theme.php, вызывается$this->diafan->_parser_theme
) – подключает шаблонные теги, прописанные в виде тегов в шаблонах сайта и непосредственно в тексте визуального редактора.
Кроме того, через основной объект можно обратиться к любому модулю-подключению. Если в модуле есть файл modules/модуль/модуль.inc.php, где описан класс Модуль_inc, то при первом обращении к переменной $this->diafan->_модуль
, создаётся экземпляр класса.
Выделим отдельно подключения модулей, относящихся к ядру системы:
cтраницы админки – используется для получения данных о текущей странице в административной части.
Пример:
$this->diafan->_admin->rewrite
– ЧПУ текущей страницы;$this->diafan->_admin->module
– модуль, прикрепленный к текущей странице.
пользователи сайта – используется для получения сведений о текущем пользователе.
Пример:
$this->diafan->_users->id
– id-номер текущего пользователя;$this->diafan->_users->name
– логин текущего пользователя;$this->diafan->_users->fio
– ФИО текущего пользователя.
языки сайта – используется для получения сведений о языках сайта, главной языке административной и пользовательской частей сайта и получение перевода интерфейса.
Пример:
$this->diafan->_languages->all
– массив данных обо всех языках, использующихся на сайте;$this->diafan->_languages->site
– номер языка, использующегося как основной на сайте;$this->diafan->_languages->admin
– номер языка, использующегося как основной в административной части.
Зарегистрируйтесь или авторизируйтесь для того, чтобы оставить комментарий.
Ваш комментарий будет первым.