Подключение модулей в адмипанели

Return to Introduction  Previous page  Next page

DataLife Engine предоставляет удобные механизмы для подключения разработанных вами модификаций скрипта в админпанели. Данные механизмы позволяют подключать модули админпанели без внесения изменений в файлы скрипта и позволяют сохранять работоспособность после обновления скрипта на новую версию скрипта.

 

Для того чтобы подключить ваш сторонний модуль в админпанель, вы должны разместить файл вашего модуля в папке engine/inc/ это обязательное условие. Только файлы находящиеся в этой папке могут быть подключены. Например имя файла вашего модуля mymod.php вы разместили его в папке engine/inc/ После этого вы можете вызвать и обратится к вашему модулю из админпанели по адресу: http://site.ru/admin.php?mod=mymod где mymod это имя вашего модуля без расширения .php Подключение происходит автоматически, никаких изменений в файлах скрипта не требуется.

 

 

Для того чтобы пользователи не вводили адрес вашего модуля в браузере вручную и он отображался в списке всех разделов в административной панели, для этого предусмотрена специальная таблица в базе данных MySQL. Имя таблицы: ПРЕФИКС_admin_sections. ПРЕФИКС  ваш скрипт установки может прочитать из файла engine/inc/dbconfig.php. Данная таблица содержит следующие имена полей:

 

name - содержит имя вашего модуля, а именно файла .php находящегося в папке engine/inc/, но без расширения файла. Например имя вашего файла mymod.php, то в данное поле должно быть записано значение mymod.

 

title - содержит заголовок вашего модуля.

 

descr - содержит описание вашего модуля.

 

icon - содержит имя иконки для вашего модуля, без указания пути. Иконка обязательно при этом должна находится в папке engine/skins/images/ (это обязательное условие). Рекомендуемые размеры иконок 70 на 70 пикселей.

 

allow_groups - содержит информацию о группах которым разрешен показ данного модуля. Данное поле может принимать следующие значения: all или ID групп через запятую. Например: 1,2,3. если указано значение all то модуль будет показываться всем пользователям имеющим доступ в админпанел.

 

 

Пример запроса для записи информации о модуле mymod:

 

INSERT INTO `префикс_admin_sections` (`name`, `title`, `descr`, `icon`, `allow_groups`) VALUES

('mymod', 'Тестовый модуль', 'Здесь находится описание тестового модуля', 'mymod.png', '1');

 

после выполнения данного запроса модуль в админпанели будет прописан в админпанели только для администраторов.

 

ВНИМАНИЕ: указание о группах в базе данных не запрещает и не предотвращяет запуск модуля пользователями из других групп. Для разграничения доступа ваши подключаемые модули обязаны сами производить проверку групп и разрешать выполнение только разрешенным группам.