24 April, 2019
Главное меню в backend: кастомизация

Убрать ненужные пункты меню в админке

1 Быстрый способ

Добавить следующий код, например, в boot() вашего Plugin.php

\Event::listen('backend.menu.extendItems', function($navigationManager) {
    $navigationManager->removeMainMenuItem('October.Cms', 'cms');
    $navigationManager->removeMainMenuItem('October.Backend', 'dashboard');
});

Плюсы: быстрота, лаконичность кода.

Недостатки: ссылки убранных пунктов меню остаются доступными пользователю.

2 Надежный способ

Убрать пункты меню через права доступа. У каждого системного пункта меню/страницы есть соответствующее правило доступа. У плагинов, установленных из маркетплейса, правила доступа тоже должны быть, но их наличие на совести автора плагина.

Права можно назначить в разделе пользователей админ-панели: /backend/users

Таким образом, запрещенные разделы админки одновременно и пропадут из верхнего меню и станут недоступными для перехода через адресную строку.


Изменение иконок верхнего меню

Пример для media, всё в том же Event:

$navigationManager->addMainMenuItems('October.Backend', [
        'media' => [
          'order' => -104,
          'iconSvg' => '',
          'icon' => 'icon-folder-open-o',
        ],
      ]);

Пример для стороннего плагина:

$navigationManager->addMainMenuItems('RainLab.Builder', [
        'builder' => [
          'iconSvg' => '',
          'icon' => 'icon-wrench',
        ],
      ]);
view_count: 60