Для создания собственного пункта меню в административной части, необходимо в папке config вашего проекта или решения, создать файл admin/menu.php
Пример добавления пункта меню в проекте:
Данный файл возвращает массив с данными для построения меню.
Содержимое:
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 30.10.2015
*/
return
[
'mypaprika' =>
[
"label" => "MyPaprika",
'items' =>
[
[
"label" => "Импорт Stock-sale.ru",
"url" => ["admin-import-stock-sale"],
]
]
]
];
В момент работы SkeekS CMS данный файл будет слит с общим конфигом для построения меню:
Пример добавления пунктов меню в дополнительном решении:
Можно посмотреть например на это решение https://github.com/skeeks-cms/cms-module-form2/blob/master/config/admin/menu.php
Конфиг:
<?php
/**
* @author Semenov Alexander <semenov@skeeks.com>
* @link http://skeeks.com/
* @copyright 2010 SkeekS (СкикС)
* @date 12.03.2015
*/
return [
'other' =>
[
'items' =>
[
[
"label" => "Конструктор форм",
"img" => ['\skeeks\modules\cms\form2\assets\FormAsset', 'icons/forms.png'],
'items' =>
[
[
"label" => "Формы",
"url" => ["form2/admin-form"],
"img" => ['\skeeks\modules\cms\form2\assets\FormAsset', 'icons/forms.png'],
],
[
"label" => "Сообщения с форм",
"url" => ["form2/admin-form-send"],
"img" => ['\skeeks\modules\cms\form2\assets\FormAsset', 'icons/form-submits.png'],
],
]
],
]
]
];
Результат:
Почему не используется глобальный конфиг?
Можно было бы сделать так, чтобы через глобальный конфиг приложения пункты меню дописывались бы в настройки компонента построения меню. Но в этом случае конфиг вашего проекта разрастался бы, были бы сложнее опирации мержа. Даже для тех случаев когда данные для построения меню не нужны. Например в сайтовой части, вам не нужно хранить в настройках вашего объекта, все данные обо всех пунктах меню.