Размещение модуля в соответствующем разделе меню

Информация о структуре меню в центре администрирования размещена в секции 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.

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.