Конфиг
use MoonShine\Exceptions\MoonShineNotFoundException;use MoonShine\Forms\LoginForm;use MoonShine\Http\Middleware\Authenticate;use MoonShine\Http\Middleware\SecurityHeadersMiddleware;use MoonShine\Models\MoonshineUser;use MoonShine\MoonShineLayout;use MoonShine\Pages\ProfilePage;return [# Директория, где расположены ресурсы'dir' => 'app/MoonShine',# Если директория изменена, пространство имен также должно быть изменено в соответствии с psr-4'namespace' => 'App\MoonShine',# Заголовок панели администратора'title' => env('MOONSHINE_TITLE', 'MoonShine'),# Вы можете изменить логотип, указав путь (пример - /images/logo.svg)'logo' => env('MOONSHINE_LOGO'),'logo_small' => env('MOONSHINE_LOGO_SMALL'),'route' => [# Если домен отличается от домена сайта'domain' => env('MOONSHINE_URL', ''),# Какой путь будет использоваться для доступа к панели управления# Если значение оставлено пустым, панель будет доступна с /'prefix' => env('MOONSHINE_ROUTE_PREFIX', 'admin'),# Имя маршрута домашней страницы'index' => 'moonshine.index',# Префикс формирования url для страниц'single_page_prefix' => 'page',# Группы промежуточного ПО в панели'middlewares' => [SecurityHeadersMiddleware::class,],# Вы можете изменить исключение для 404 (для ModelNotFound нужно реализовать самостоятельно)'notFoundHandler' => MoonShineNotFoundException::class,],# Если вы хотите заменить MoonshineUser своей моделью, вы можете отключить стандартные миграции'use_migrations' => true,# Уведомления Вкл/Выкл'use_notifications' => true,# Вкл/Выкл переключатель светлой/темной темы'use_theme_switcher' => true,# Класс для отрисовки шаблона главной страницы'layout' => MoonShineLayout::class,# Диск файловой системы по умолчанию'disk' => 'public','disk_options' => [],'cache' => 'file','assets' => ['js' => ['script_attributes' => ['defer',]],'css' => ['link_attributes' => ['rel' => 'stylesheet',]]],'forms' => [# форма аутентификации'login' => LoginForm::class],'pages' => [# Страница панели управления, страница по умолчанию создается при установке MoonShine'dashboard' => App\MoonShine\Pages\Dashboard::class,# Страница профиля'profile' => ProfilePage::class],# Импорт и экспорт по умолчанию из ModelResource'model_resources' => ['default_with_import' => true,'default_with_export' => true,],'auth' => [# Вкл/Выкл аутентификацию. Если false, панель будет доступна всем'enable' => true,'middleware' => Authenticate::class,'fields' => ['username' => 'email','password' => 'password','name' => 'name','avatar' => 'avatar',],# Если вы используете собственный guard, провайдер'guard' => 'moonshine','guards' => ['moonshine' => ['driver' => 'session','provider' => 'moonshine',],],'providers' => ['moonshine' => ['driver' => 'eloquent','model' => MoonshineUser::class,],],],# Возможные варианты перевода'locales' => ['en','ru',],'global_search' => [// User::class],'tinymce' => [# Корневой каталог файлового менеджера, подробности в разделе Fields'file_manager' => false,'token' => env('MOONSHINE_TINYMCE_TOKEN', ''),'version' => env('MOONSHINE_TINYMCE_VERSION', '6'),],# Аутентификация через социальные сети и socialite, перечислите драйверы и укажите логотип'socialite' => [// 'driver' => 'путь_к_изображению_для_кнопки'],];
use MoonShine\Exceptions\MoonShineNotFoundException;use MoonShine\Forms\LoginForm;use MoonShine\Http\Middleware\Authenticate;use MoonShine\Http\Middleware\SecurityHeadersMiddleware;use MoonShine\Models\MoonshineUser;use MoonShine\MoonShineLayout;use MoonShine\Pages\ProfilePage;return [# Директория, где расположены ресурсы'dir' => 'app/MoonShine',# Если директория изменена, пространство имен также должно быть изменено в соответствии с psr-4'namespace' => 'App\MoonShine',# Заголовок панели администратора'title' => env('MOONSHINE_TITLE', 'MoonShine'),# Вы можете изменить логотип, указав путь (пример - /images/logo.svg)'logo' => env('MOONSHINE_LOGO'),'logo_small' => env('MOONSHINE_LOGO_SMALL'),'route' => [# Если домен отличается от домена сайта'domain' => env('MOONSHINE_URL', ''),# Какой путь будет использоваться для доступа к панели управления# Если значение оставлено пустым, панель будет доступна с /'prefix' => env('MOONSHINE_ROUTE_PREFIX', 'admin'),# Имя маршрута домашней страницы'index' => 'moonshine.index',# Префикс формирования url для страниц'single_page_prefix' => 'page',# Группы промежуточного ПО в панели'middlewares' => [SecurityHeadersMiddleware::class,],# Вы можете изменить исключение для 404 (для ModelNotFound нужно реализовать самостоятельно)'notFoundHandler' => MoonShineNotFoundException::class,],# Если вы хотите заменить MoonshineUser своей моделью, вы можете отключить стандартные миграции'use_migrations' => true,# Уведомления Вкл/Выкл'use_notifications' => true,# Вкл/Выкл переключатель светлой/темной темы'use_theme_switcher' => true,# Класс для отрисовки шаблона главной страницы'layout' => MoonShineLayout::class,# Диск файловой системы по умолчанию'disk' => 'public','disk_options' => [],'cache' => 'file','assets' => ['js' => ['script_attributes' => ['defer',]],'css' => ['link_attributes' => ['rel' => 'stylesheet',]]],'forms' => [# форма аутентификации'login' => LoginForm::class],'pages' => [# Страница панели управления, страница по умолчанию создается при установке MoonShine'dashboard' => App\MoonShine\Pages\Dashboard::class,# Страница профиля'profile' => ProfilePage::class],# Импорт и экспорт по умолчанию из ModelResource'model_resources' => ['default_with_import' => true,'default_with_export' => true,],'auth' => [# Вкл/Выкл аутентификацию. Если false, панель будет доступна всем'enable' => true,'middleware' => Authenticate::class,'fields' => ['username' => 'email','password' => 'password','name' => 'name','avatar' => 'avatar',],# Если вы используете собственный guard, провайдер'guard' => 'moonshine','guards' => ['moonshine' => ['driver' => 'session','provider' => 'moonshine',],],'providers' => ['moonshine' => ['driver' => 'eloquent','model' => MoonshineUser::class,],],],# Возможные варианты перевода'locales' => ['en','ru',],'global_search' => [// User::class],'tinymce' => [# Корневой каталог файлового менеджера, подробности в разделе Fields'file_manager' => false,'token' => env('MOONSHINE_TINYMCE_TOKEN', ''),'version' => env('MOONSHINE_TINYMCE_VERSION', '6'),],# Аутентификация через социальные сети и socialite, перечислите драйверы и укажите логотип'socialite' => [// 'driver' => 'путь_к_изображению_для_кнопки'],];
Для базового использования достаточно отредактировать следующие параметры:
// ...return [// ...'title' => env('MOONSHINE_TITLE', 'MoonShine'),'logo' => env('MOONSHINE_LOGO', ''),'logo_small' => env('MOONSHINE_LOGO_SMALL'),'route' => ['prefix' => env('MOONSHINE_ROUTE_PREFIX', 'admin'),],// ...];
// ...return [// ...'title' => env('MOONSHINE_TITLE', 'MoonShine'),'logo' => env('MOONSHINE_LOGO', ''),'logo_small' => env('MOONSHINE_LOGO_SMALL'),'route' => ['prefix' => env('MOONSHINE_ROUTE_PREFIX', 'admin'),],// ...];
Домашняя страница
Если вам нужно переопределить домашнюю страницу в панели администрирования MoonShine, это можно сделать с помощью статического метода home()
класса MoonShine в сервис-провайдере MoonShineServiceProvider
.
home(string|Closure $homeClass)
home(string|Closure $homeClass)
use App\MoonShine\Pages\CustomPage;use App\MoonShine\Resources\PostResource;use MoonShine\Providers\MoonShineApplicationServiceProvider;use MoonShine\MoonShine;class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{public function register(): void{moonshine()->home(CustomPage::class);// илиmoonshine()->home(PostResource::class);// илиmoonshine()->home(function () {return PostResource::class;});}//...}
use App\MoonShine\Pages\CustomPage;use App\MoonShine\Resources\PostResource;use MoonShine\Providers\MoonShineApplicationServiceProvider;use MoonShine\MoonShine;class MoonShineServiceProvider extends MoonShineApplicationServiceProvider{public function register(): void{moonshine()->home(CustomPage::class);// илиmoonshine()->home(PostResource::class);// илиmoonshine()->home(function () {return PostResource::class;});}//...}