Административная часть сайтаЕсли файл index.php определил, что запрошена административная часть, то подключается файл adm/index.php. Файл выполняет следующие функции:
-
подключение всех «жизненно важных» файлов;
-
инициация основного объекта системы.
Основной объект системы – экземпляр класса Initadmin, описанный в файле adm/includes/init.php.
При инициации основного объекта системы происходит:
-
старт сессии;
-
определение администратора;
-
определение запрошенной языковой версии для редактирования;
-
определение запрошенного модуля;
-
подключение администрирования модуля;
-
подключение шаблона административной части.
Экземпляр класса Initadmin передается во все другие объекты и доступен из любого места системы в виде переменной $this->diafan.
Таким образом в любом месте системы можно получить глобальные данные:
-
данные о текущей странице;
-
переданные в URL переменные;
-
общие функции;
-
объекты классов-подключений.
Теперь подробнее об этих данных:
Данные о текущей странице
В область глобальной видимости попадают следующие данные о текущей странице и данные, сформированные модулей:
-
$this->diafan->cid – номер текущей страницы;
-
$this->diafan->rewrite – ЧПУ текущей страницы сайта;
-
$this->diafan->name – название текущей страницы;
-
$this->diafan->theme – файл шаблона текущей страницы;
-
$this->diafan->text – контент текущей страницы;
-
$this->diafan->parent_id – номер страницы родителя;
-
$this->diafan->module – модуль, прикрепленный к текущей странице.
Переданные в URL переменные
Список всех доступных переменных задан в массиве $this->diafan->rewrite_variable_names.
-
$this->diafan->page – номер страницы;
-
$this->diafan->addnew – значение 1, добавление элемента;
-
$this->diafan->edit – номер элемента для редактирования;
-
$this->diafan->savenew – значение 1, сохранение нового элемента;
-
$this->diafan->save – номер элемента для сохранения;
-
$this->diafan->cat – номер категории;
-
$this->diafan->site – номер страницы сайта;
-
$this->diafan->parent – номер родителя;
-
$this->diafan->error – код ошибки, уведомления.
Пример: Страница редактирования товара – http://www.site.ru/admin/shop/edit13/
Общие функции
Класс Initadmin наследует абстрактный класс Core (includes/core.php). Все функции этого класса можно вызвать в виде:
$this->diafan->название_функции();
Объекты классов-подключений
В основном объекте инициируются классы:
-
пользователи (класс User_admin, файл includes/user.php, вызывается $this->diafan->_user);
-
маршрутизатор (класс Route, файл includes/route.php, вызывается $this->diafan->_route);
-
подключение шаблонов (класс Template, файл includes/template.php, вызывается $this->diafan->_tpl).
Кроме того, через основной объект можно обратится к любому модулю-подключению. Если в модуле есть файл modules/модуль/модуль.inc.php, где описан класс Модуль_inc, то при первом обращении к переменной $this->diafan->_модуль, создастся экземпляр класса.
Не понятно? Уточните
|