Замена иконок в меню админки

Инструкция как в главном меню админ-панели сайта заменить стандартные svg-иконки и иконки у пунктов меню сторонних плагинов установленных на сайте.

Замена иконок в меню админки

  Не знаю согласитесь ли вы или нет, но всё же как то уныло выглядят иконки в меню админки для пунктов Панель управления и CMS.

А вот как у меня выглядит главное меню в бекед-части сайта:

Меню админки

  На скрине выше вы можете видеть что у меня в пунктах меню переопределены иконки для стандартных пунктов меню, а так же заменена иконка для плагина Winter.User.

  Так же вы можете заметить что в меню отсутствует пункт Медиафайлы. Ранее я уже писал как удалить пункт меню из Winter CMS. Можете в коде плагина который написан ниже, так же удалить этот пункт если он вам не нужен. Просто добавьте слушатель из статьи по ссылке в функцию boot().

 

Переопределение иконок

  Сделать переопределение иконок можно в любом плагине. написать свой маленький плагин который будет называться Override. Это слово переводится как Переопределение, что логично в нашем случае.

  1. Заходим в корень сайта и в папке plugins и создаём новую папку название которой носит имя разработчика. У меня это будет intpro, у себя вы можете называть как вам вздумается.
  2. В этой папке создаём папку override. Это будет папка нашего плагина.
  3. В папке override создаём файл Plugin.php
  4. Так же в папке override создаём папку assets в которой папка img. В эту папку складываем svg-иконки (файлы с расширением .svg).

Получится такой путь к файлу Plugin.php:

\plugins\intpro\override\Plugin.php

Код файла Plugin.php

<?php namespace Intpro\Override;

use System\Classes\PluginBase;
use Event;

class Plugin extends PluginBase
{
    public function pluginDetails()
    {
        return [
            'name'        => 'Переопределения',
            'description' => 'Переопределения опций системы и других плагинов',
            'author'      => 'V3C.RU',
            'icon'        => 'icon-map-signs'
        ];
    }

    public function boot()
    {
        Event::listen('backend.menu.extendItems', function($manager) {
            
            $manager->addMainMenuItems('Winter.Backend', [
                'dashboard' => ['iconSvg'   => 'plugins/intpro/override/assets/img/home.svg'],
                'media' => ['iconSvg'   => 'plugins/intpro/override/assets/img/media.svg']
            ]);

            $manager->addMainMenuItems('Winter.Cms', [
                'cms' => ['iconSvg'   => 'plugins/intpro/override/assets/img/cms.svg']
            ]);

            $manager->addMainMenuItems('Winter.System', [
                'system' => ['iconSvg'   => 'plugins/intpro/override/assets/img/cms.svg']
            ]);

            $manager->addMainMenuItems('Winter.User', [
                'user' => ['iconSvg'   => 'plugins/intpro/override/assets/img/users.svg']
            ]);

        });
    }
}

  Замените в первой строчке кода Intpro на ваше имя разработчика и в путях для svg замените intpro на ваше название папки разработчика плагина.

  В коде переопределены иконки для 5 пунктов меню. Это:

  • dashboard - Панель управления
  • media - Медиафайлы
  • cms - CMS
  • system - Настройки
  • user - Пользователи

  Удалите или закоментируйте в коде те пункты которые вам не нужны.

  Теперь чтобы всё заработало, просто добавьте в папку img новые svg-иконки. А так наш плагин готов и будет работать.

 

Сортировка пунктов меню

  Так же покажу как можно поменять порядок пунктов меню. Тут всё просто - применяем теже настройки что обычно для меню плагина.

  Покажу на примере одного пункта, а именно пункту Настройки. Остальным можно так же добавлять необходимые нам параметры:

$manager->addMainMenuItems('Winter.System', [
    'system' => [
    	'label'		=> 'Настроечка',
        'iconSvg'	=> 'plugins/intpro/override/assets/img/cms.svg'
        'order'		=> 101
    ]
]);

Здесь:

  • label - название пункта меню
  • iconSvg - иконка
  • order - порядковый номер пункта меню

 

Записи по теме
said в цитатах форума Winter.Forum
said Если вы используете на сайте плагин Forum от Winter, вы можете заметить что при цитировании сообщений, вместе с цитируемым текстом в начало цитаты вставляется имя автора сообщения и слово said.
Вложенные изображения и их вывод
Вложенные изображения и их вывод Как в Winter CMS к моделям прикрепляются изображения через связи и как затем вывести эти изображения в нужном нам месте с заданными размерами.
Как включить обновления в WinterCMS
обновление Где в Winter CMS находится настройка позволяющая разрешить обновления ядра сайта и установленных на нём плагинов и как правильно её включить.
Как удалить index.php из урлов в Winter CMS
index.php в october cms В Winter CMS изначально страницы могут быть также доступны с префиксом index.php в урлах. Чтобы это убрать, нужно добавить небольшое правило в файл .htaccess Данный код решит эту проблему...
Ошибка 500 после установки Winter CMS
Ошибка 500 после установки Winter CMS Один из способов как можно избавиться от ошибки 500, появляющейся сразу после установки WinterCMS. Возможно вам тоже поможет данное решение.
Комментарии 0

*** чтобы писать комментарии.