Создание простой панели управления для Yii2
$ composer require --prefer-dist stronglab/yii2-dashboard "*"
Или добавить в composer.json
{
"require": {
"stronglab/yii2-dashboard": "*"
}
}
'modules' => [
'dashboard' => [
'class' => 'stronglab\dashboard\Module',
'roles' => ['@'], // необязатьельный параметр, по-умолчанию доступ всем гостям
'column' => 2, // необязательный параметр, количество столбцов в панели (возможные значения: 1-3)
'modules' => [
// список модулей, в которых будет производиться поиск файла dashboard.json
'moduleID',
'moduleID',
...
'moduleID' => [
'jsonPath' => 'config/dashboard/myconf.json', // отдельный путь к файлу настроек панели, прописывается от директории приложения
],
],
],
],
Далее обновляем composer и можно приступать к настройке модулей
В корневой директории каждого модуля необходимо создать файл dashboard.json, который должен иметь следующий формат:
{
"name": "Dasboard simple config",
"title": "My module",
"routes": [
{
"route": "default/index",
"title": "List"
},
{
"route": "default/captcha",
"title": false
},
{
"route": "default/admin",
"title": "Admin",
"icon": "pencil"
}
]
}
Описание формата:
- name - обязательный параметр, описание модуля
- title - необязательный параметр, в случае отсутствия используется параметр name
- routes - обязательный параметр, содержит список маршрутов, которые перехватываются модулем и выводятся в панели
Описание блока routes:
- route - обязательный параметр, необходимо вписывать маршруты без указания ID модуля
- title - обязательный параметр, необходим для отображения анкора ссылки в панели (если установлено false, то маршрут не выводится в панели)
- icon - необязательный параметр, иконка в панели. Используются иконки Glyphicons. В параметре icon необходимо вписать только название иконки (например, вместо "glyphicon-pencil" используем "pencil")
{
"name": "Example",
"title": "Example Header",
"routes": [
{
"route": "default/index",
"title": "Список"
},
{
"route": "default/create",
"title": "Добавить"
},
{
"route": "default/view",
"title": false
},
{
"route": "default/update",
"title": false
},
{
"route": "default/delete",
"title": false
}
]
}
Вы можете использовать панель для отображения маршрутов вне модулей. Для этого необходимо создать файл dashboard.json в корневой директории приложения.