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()
)
])
];
}
}