mitisk / yii2-admin
Админка для проектов Yii2
Installs: 0
Dependents: 0
Suggesters: 0
Security: 0
Stars: 1
Watchers: 1
Forks: 0
Open Issues: 0
pkg:composer/mitisk/yii2-admin
Requires
- php: >=8.1
- kak/rbac: >=1.0
- yiisoft/yii2: ~2.0.45
- yiisoft/yii2-bootstrap5: ~2.0.2
- yiisoft/yii2-symfonymailer: ~2.0.3
This package is auto-updated.
Last update: 2025-11-29 15:47:49 UTC
README
Модуль административной панели для Yii2 приложений. Предоставляет готовый интерфейс для управления пользователями, настройками, меню и другими аспектами системы.
📋 Основные возможности
- Управление пользователями: CRUD операции, назначение ролей (RBAC), блокировка/активация.
- Сброс пароля: Функционал генерации и отправки нового пароля пользователю на email.
- Имперсонация: Возможность входа под другим пользователем ("Login As") для отладки.
- Управление настройками: Глобальное хранилище настроек (key-value) с удобным интерфейсом.
- Email шаблоны: Управление шаблонами писем с поддержкой плейсхолдеров.
- RBAC: Интеграция с
kak-rbacдля управления ролями и разрешениями. - Меню: Динамическое управление пунктами меню.
⚙️ Установка и Настройка
1. Подключение модуля
Добавьте модуль в конфигурацию вашего приложения (config/web.php или common/config/main.php):
'modules' => [ 'admin' => [ 'class' => 'Mitisk\Yii2Admin\Module', 'layout' => 'admin', // Используемый лейаут ], // ... ],
2. Настройка компонентов
Settings Component
Для работы с настройками зарегистрируйте компонент:
'components' => [ 'settings' => [ 'class' => 'Mitisk\Yii2Admin\components\SettingsComponent', ], // ... ],
Использование в коде:
// Сохранить настройку Yii::$app->settings->set('Mitisk\Yii2Admin\models\Settings', 'api_key', 'your-key'); // Получить настройку $apiKey = Yii::$app->settings->get('Mitisk\Yii2Admin\models\Settings', 'api_key');
RBAC Configuration
Пример конфигурации authManager и модуля rbac:
'components' => [ 'authManager' => [ 'class' => 'kak\rbac\components\DbManager', 'defaultRoles' => ['guest', 'user'], 'cache' => 'cache', 'cacheKey' => 'rbac', ], ], 'modules' => [ 'rbac' => [ 'class' => 'kak\rbac\Module', 'mainLayout' => '@app/modules/admin/views/layouts/main.php', 'userAttributes' => ['username', 'email', 'name'], 'params' => [ 'protectedRoles' => ['admin', 'superAdminRole'], 'protectedPermissions' => ['superAdmin', 'manageUserRoles'], ] ], // ... ],
🚀 Функционал
Управление пользователями (UserController)
Контроллер предоставляет полный набор действий для администрирования пользователей:
- Просмотр и поиск: Фильтрация списка пользователей.
- Создание и Редактирование: Управление профилем, аватаром и статусом.
- Управление ролями: Назначение и отзыв ролей RBAC прямо в форме редактирования.
- Отправка нового пароля:
- Доступно в форме редактирования пользователя.
- Генерирует случайный пароль.
- Отправляет письмо по шаблону
new_user_password. - Требует наличия email и типа авторизации "Пароль" или "Пароль + код".
- Вход под пользователем: Действие
login-asпозволяет администратору авторизоваться под любым пользователем.
Виджет меню (MenuWidget)
Для добавления пунктов меню в виджет используйте событие:
use Mitisk\Yii2Admin\widgets\MenuWidget; Yii::$app->on(MenuWidget::EVENT_BEFORE_RENDER, function ($event) { $event->menuArray[] = [ 'label' => 'Новый пункт', 'href' => '/new-item', 'icon' => 'icon-name' ]; });
Email Шаблоны
Модуль использует систему шаблонов для отправки писем.
- Модель:
EmailTemplate - Сервис:
Mitisk\Yii2Admin\components\MailService
Пример отправки письма:
$mailService = new \Mitisk\Yii2Admin\components\MailService(); $mailService->send('template_slug', 'user@example.com', [ 'PARAM1' => 'Value 1', 'PARAM2' => 'Value 2', ]);
🔒 Права доступа (Permissions)
Основные разрешения, используемые в модуле:
viewUsers- Просмотр списка пользователей.createUsers- Создание пользователей.updateUsers- Редактирование пользователей.deleteUsers- Удаление пользователей.manageUserRoles- Управление ролями пользователей.admin- Доступ к админ-панели и функции имперсонации.
📂 Структура
controllers/- Контроллеры (User, Role, Settings, etc.)models/- Модели данных (AdminUser, Settings, EmailTemplate, etc.)views/- Представления админ-панели.components/- Служебные компоненты (MailService, SettingsComponent).widgets/- Виджеты интерфейса.