Панель быстрых действий в меню бэкенда

Управление элементами в панели быстрых действий в основной навигации бэкенда Winter CMS. Методы и события для управления, свойства для генерации элементов.

Панель быстрых действий в меню бэкенда

Панель «быстрые действия» в Winter CMS - это ссылки на иконках, расположенные слева от пользовательского меню:

quck actions wintercms

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

Плагины имеют возможность определять элементы в панели быстрых действий с помощью registerQuickActions метода, который следует той же конфигурации, что и registerNavigation метод. Это позволяет плагину легко определить ярлык (или удалить его).

Добавление ярлыка в панель быстрых действий:

plugins/authorName/pluginName/Plugin.php
/**
 * Registers back-end quick actions for this plugin.
 */
public function registerQuickActions(): array
{
    return [
        'help' => [
            'label' => 'winter.docs::lang.links.docsLink',
            'url' => Backend::url('docs'),
            'icon' => 'icon-question-circle',
            'iconSvg' => '/plugins/authorName/pluginName/assets/images/name.svg',
            'attributes' => [
                'target' => '_blank',
                'rel' => 'noopener noreferrer',
                'data-test' => 'qwerty',
            ],
            'permissions' => ['winter.docs.*'],
            'order' => 20,
        ],
    ];
}

 

Свойства для генерации элементов

Свойство Тип Обязательно Описание
label string Да Текст всплывающей подсказки
url string Да Значение для атрибута href="". Для ссылок на бэкенд можно использовать статический метод Backend::url('docs'), а для ссылок на фронтенд Url::to('/')
icon string Нет CSS-класс иконки FontAwesome
iconSvg string Нет SVG-иконка
attributes array Нет HTML-атрибуты
permissions array Нет Разрешение
order int Нет Порядковый номер

 

Методы управления

Как и в случае обычной навигации бэкенда, быстрые действия также можно добавлять или удалять программно с помощью метода NavigationManager::registerCallback() или backend.menu.extendItems события. Следующие методы управляют этими функциями:

  • addQuickActionItems
  • removeQuickActionItem
  • listQuickActionItems

Для более наглядного понимания, вот код который генерирует элементы для панели быстрых действий:

<li class="mainmenu-quick-action with-tooltip">
    <a
        href="<?= $item->url ?>"
        title="<?= e(trans($item->label)) ?>"
        <?= Html::attributes($item->attributes) ?>
    >

        <?php if ($item->iconSvg): ?>
            <img
                src="<?= Url::asset($item->iconSvg) ?>"
                class="svg-icon" loading="lazy" width="20" height="20" />
        <?php endif ?>

        <i class="<?= $item->iconSvg ? 'svg-replace' : null ?> <?= $item->icon ?>"></i>
    </a>
</li>
Записи по теме
Замена иконок в меню админки
Замена иконок в меню админки Инструкция как в главном меню админ-панели сайта заменить стандартные svg-иконки и иконки у пунктов меню сторонних плагинов установленных на сайте.
Пункт Медиафайлы в меню бекенда
Пункт Медиафайлы в меню бекенда Как удалить пункт меню Медиафайлы из основного меню в бекенд части сайта и как затем при необходимости вывести Медиафайлы подпунктом бокового меню плагина.
Комментарии 0

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