Для создания собственного пункта меню в административной части, необходимо в папке 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'],
                    ],
                ]
            ],
        ]
    ]
];

Результат:

 


Почему не используется глобальный конфиг?

Можно было бы сделать так, чтобы через глобальный конфиг приложения пункты меню дописывались бы в настройки компонента построения меню. Но в этом случае конфиг вашего проекта разрастался бы, были бы сложнее опирации мержа. Даже для тех случаев когда данные для построения меню не нужны. Например в сайтовой части, вам не нужно хранить в настройках вашего объекта, все данные обо всех пунктах меню.

 



Все комментарии (0)
Нет комментариев