Skip to content

stronglab/yii2-dashboard

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

55 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Latest Stable Version Total Downloads Latest Unstable Version License

Yii2 Dashboard

Создание простой панели управления для Yii2

Установка

$ composer require --prefer-dist stronglab/yii2-dashboard "*"

Или добавить в composer.json

{
    "require": {
        "stronglab/yii2-dashboard": "*"
    }
}

Файл конфига проекта config/web.php

'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")

Пример файла dashboard.json для стандартного CRUD

{
    "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 в корневой директории приложения.

Created by strong aka Aleksand Demchenko