Dashboard
Вы просматриваете документацию старой версии MoonShine. Рассмотрите возможность обновления вашего проекта до MoonShine 2.x.
# Основы
Кастомизация главной страницы админ-панели осуществляется через класс app/MoonShine/Dashboard.php
.
На текущий момент в панели управления можно отобразить метрики
Необходимые метрики регистрируются в методе blocks и располагаются в обвертке DashboardBlock для удобства построенния блоков панели
Элементам также доступны методы декораций Layout (columnSpan)
namespace App\MoonShine; use App\Models\User;use MoonShine\Dashboard\DashboardBlock;use MoonShine\Dashboard\DashboardScreen;use MoonShine\Metrics\ValueMetric; class Dashboard extends DashboardScreen{ public function blocks(): array { return [ DashboardBlock::make([ ValueMetric::make('Пользователей') ->value(User::query()->count()) ]) ]; }}
# Блок с записями ресурса
Иногда крайне удобно добавить на главную страницу таблицу с записями из ресурса для быстого доступа.
Для этого используйте ResourcePreview
namespace App\MoonShine; use App\Models\Article;use MoonShine\Dashboard\DashboardBlock;use MoonShine\Dashboard\DashboardScreen;use MoonShine\Dashboard\ResourcePreview; class Dashboard extends DashboardScreen{ public function blocks(): array { return [ DashboardBlock::make([ ResourcePreview::make( new ArticleResource(), // Обязательный параметр с ресурсом MoonShine 'Latest articles', // Опционально - заголовок блока Article::query()->where('active', true)->limit(2) // Опционально QueryBuilder ) ]) ]; }}
# Текстовый блок
Для отображения простого текста
namespace App\MoonShine; use MoonShine\Dashboard\DashboardBlock;use MoonShine\Dashboard\DashboardScreen;use MoonShine\Dashboard\TextBlock; class Dashboard extends DashboardScreen{ public function blocks(): array { return [ DashboardBlock::make([ TextBlock::make( 'Добро пожаловать', view('welcome')->render() ) ]) ]; }}