В данной статье я раскажу о создании панели администрирования (далее админки) модуля. Для этого мы будет использовать классы из фреймворка ModuleClasses.
Первое что необходимо сделать, это добавить в файл xoops_version.php несколько строк:
//
$modversion['dirmoduleadmin'] = 'Frameworks/moduleclasses';
$modversion['icons16'] = 'Frameworks/moduleclasses/icons/16';
$modversion['icons32'] = 'Frameworks/moduleclasses/icons/32';
// О модуле
// Ссылка на сайт модуля
$modversion["module_website_url"] = "http://radio-hobby.org/";
// Название сайта модуля
$modversion["module_website_name"] = "radio-hobby.org";
// Дата релиза
$modversion["release_date"] = "2011/08/28";
// Статус модуля
$modversion["module_status"] = "Beta";
// Сайт автора
$modversion["author_website_url"] = "http://radio-hobby.org/";
// Название автора
$modversion["author_website_name"] = "andrey3761";
// Минимальная версия PHP
$modversion['min_php']='5.2';
// Минимальная версия XOOPS
$modversion['min_xoops']="2.3";
Как видно, этим мы указали пути к фреймворку и к директории с иконками. Ниже информация для странице "О модуле", её можно менять на свою.
Теперь переходим к созданию самой панели администрирования. Создадим следующую структуру файлов:
/admin/about.php
/admin/admin_footer.php
/admin/admin_header.php
/admin/index.php
/admin/menu.php
Файлы admin_footer.php и admin_header.php мы расматривать не будем. Исходные коды вы сможете посмотреть в модуле "MyModule", ссылка на него в конце статьи.
Файл menu.php содержит массив с меню, которое отображается в панели администрирования. Исходный код его ниже:
$module_handler =& xoops_gethandler('module');
// Объект модуля
$xoopsModule =& XoopsModule::getByDirname('mymodule');
$moduleInfo =& $module_handler->get($xoopsModule->getVar('mid'));
$pathImageAdmin = $moduleInfo->getInfo('icons32');
// Массив меню
$adminmenu = array();
$i = 1;
// Первый пункт меню
// Название пункта
$adminmenu[$i]["title"] = _MI_MYMODULE_ADMIN_HOME;
// Ссылка на страницу
$adminmenu[$i]["link"] = "admin/index.php";
// Описание страницы
$adminmenu[$i]["desc"] = _MI_MYMODULE_ADMIN_HOME_DESC;
// Картинка к данному пункту
$adminmenu[$i]["icon"] = '../../' . $pathImageAdmin . '/home.png';
$i++;
// Второй пункт меню
$adminmenu[$i]["title"] = _MI_MYMODULE_ADMIN_ABOUT;
$adminmenu[$i]["link"] = "admin/about.php";
$adminmenu[$i]["desc"] = _MI_MYMODULE_ADMIN_ABOUT_DESC;
$adminmenu[$i]["icon"] = '../../' . $pathImageAdmin . '/about.png';
$i++;
Как видно, в данном меню будет всего два пункта. К этим пунктам указывается название, описание, ссылка на страницу и картинка. Картинка будет отображаться в заголовке страницы и на главной странице модуля. Файл index.php содержит следующие строки кода:
require_once '../../../include/cp_header.php';
include 'admin_header.php';
xoops_cp_header();
// Объявляем класс интерфейса администрирования
$indexAdmin = new ModuleAdmin();
// Добавляем меню
echo $indexAdmin->addNavigation('index.php');
// Выводим главную страницу
echo $indexAdmin->renderIndex();
include "admin_footer.php";
//
xoops_cp_footer();
функции xoops_cp_header() и xoops_cp_footer() выводят заголовок и подвал страницы администрирования. Переменная $indexAdmin является объектом интерфейса администратора. Между заголовком и подвалом страницы мы выводим меню и содержание главной страницы. Внешне она выглядет так

В файле about.php выводится информация о модуле. Единственное отличие его от index.php в том, что там используется строка для вывода информации о модуле
echo $aboutAdmin->renderabout('', false);
Внешне данная страница выглядет так.

Теперь в нашем модуле красивый интерфейс администрирования.
Скачать модуль MyModule.
|