Информация о структуре меню в центре администрирования размещена в секции adminMenu
конфигурационного файла modules/skin/bootstrap/config/config.php
. Внесение изменений в данный файл не допускается, для добавления своих модулей в соответствующий раздел необходимо использовать событие Skin_Bootstrap.onLoadSkinConfig
.
Рассмотрим обработку добавления на примере модуля supermodule
.
В поставку модуля добавим класс Skin_Bootstrap_Module_Supermodule_Module
, который специфичен для данного скина и расширяет Supermodule_Module
. Класс расположим по адресу modules/skin/bootstrap/module/supermodule/module.php
.
<?php
defined('HOSTCMS') || exit('HostCMS: access denied.');
/**
* Supermodule.
*
* @package HostCMS 6\Skin
* @version 6.x
* @author Hostmake LLC
* @copyright © 2005-2015 ООО "Хостмэйк" (Hostmake LLC), https://www.hostcms.ru
*/
class Skin_Bootstrap_Module_Supermodule_Module extends Supermodule_Module
{
/**
* Constructor.
*/
public function __construct()
{
parent::__construct();
Core_Event::attach('Skin_Bootstrap.onLoadSkinConfig', array('Skin_Bootstrap_Module_Supermodule_Module', 'onLoadSkinConfig'));
}
static public function onLoadSkinConfig($object, $args)
{
// Load config
$aConfig = $object->getConfig();
// Add module into 'content' section, see config.php
$aConfig['adminMenu']['content']['modules'][] = 'supermodule';
// Set new config
$object->setConfig($aConfig);
}
}
Решение доступно с версии 6.5.3.