Дополнительно/Расширения/Модуль административной панели

Административная панель

Модуль 'Административная панель' во фреймворке HLEB2 представляет собой дополнение к библиотеке регистрации HLOGIN, но также может быть использован отдельно, в качестве одной или нескольких административных панелей на одном сайте или публичного оформления для сайта.

С помощью этой библиотеки создан внешний вид этого сайта документации фреймворка без значительных изменений.


#Установка

При помощи Composer:

$composer require phphleb/adminpan


#Настройка

Если выполнить следующую команду, то в раздел /config/structure/ будет скопирован файл adminpan.php с описанием того, как создать структуру меню для административной панели.

$php console phphleb/adminpan add

Первоначально файл /config/structure/adminpan.php содержит пустой массив, никаких разделов меню не задано. Разделы меню назначаются по названиям специальных маршрутов (или обычным ссылкам). Пример для демонстрационного маршрута:

Route::get('/{lang}/panel/page/default')
    ->
page('adminpan'ExamplePanelController::class)
    ->
name('adminpan.default');

Здесь указано, что для меню 'adminpan' (одноименное с файлом adminpan.php) по URL адресу '/{lang}/panel/page/default' назначен контроллер page() класса ExamplePanelController для метода 'index'. Кроме того, маршрут имеет название 'adminpan.default', которое нужно для сопоставления с разделом в меню. Теперь можно создать первый пункт меню в файле /config/structure/adminpan.php.

<?php

return [
    
'design' => 'base'// base|light default `base`
    
'breadcrumbs' => 'on'// on|off default 'on'
    
'section' => [
        [
            
'name' => [
                
'ru' => 'Главное меню',
                
'en' => 'Main menu'
            
],
            
'section' => [
                [
                    
'route' => 'adminpan.default',
                    
'name' => [
                        
'en' => 'Test page',
                        
'ru' => 'Тестовая страница',
                    ],
                ],
            ],
        ],
    ]
];

Меню может содержать вложенные раскрывающиеся списки ('section'), сейчас назначен только один с одним пунктом.

Если перейти по адресу URL '/ru/panel/page/default', то для страницы будет назначен дизайн 'base' (из настроек), а также меню, в котором будет список 'Главное меню' c активным пунктом 'Тестовая страница' на которой будет выведен контент из контроллера ExamplePanelController.

Совместно используя с библиотекой HLOGIN, маршруты админпанели могут быть доступны только определенному типу пользователей (авторизованным).

Для углубленного понимания работы админпанели вы можете развернуть этот сайт локально и посмотреть его устройство меню.

Репозиторий библиотеки: github.com/phphleb/adminpan

Страница создана: @fomiash
К началу страницы