Конфигурация платформы
Suggest EditПлатформа использует стандартную систему настроек для Laravel.
Параметры располагаются в директории config
, а основным источником для платформы является
файл platform.php
. Каждая настройка поставляется с комментарием поясняющим основную суть.
Примечание. Если вы кэшируете свои файлы конфигурации, не забудьте очистить их после изменения, используя команду
php artisan config:clear
Ниже мы углубимся в файл конфигурации и дадим подробное описание каждого параметра.
Адрес платформы
'domain' => env('PLATFORM_DOMAIN', null),
Для многих проектов адрес расположения панели администрирования играет важную роль.
Например, приложение располагается по адресу example.com
, а платформа на admin.example.com
или на стороннем домене.
Для этого требуется указать по какому адресу вы хотели её открывать.
'domain' => 'admin.example.com',
Помните, что ваши параметры веб-сервера должны быть настроены должным образом.
Префикс платформы
'prefix' => env('PLATFORM_PREFIX', 'admin'),
Предоставляется возможность смены префикса admin
на любое другое название, например dashboard
или administrator
.
Middleware
'middleware' => [
'public' => ['web'],
'private' => ['web', 'platform'],
],
Можете добавлять/изменять промежуточные слои (middleware) для графического интерфейса.
На данный момент предусмотрены две группы: public
, которую может видеть не авторизованный пользователь, например, страницу “Входа”, и private
, которую наоборот видят только авторизованные пользователи.
Вы можете добавить сколько угодно новых промежуточных слоёв, например, слой фильтрации запросов только из белого списка IP адресов.
Страница авторизации
'auth' => true,
По умолчанию, когда параметр auth
установлен в значение true
, Orchid использует свой собственный простой интерфейс входа в систему.
Если вам требуются более продвинутые функции, такие как восстановление пароля или двухфакторная аутентификация, то установите auth
в false
и используйте пакет Jetstream
или создайте свой собственный.
Главная страница
Главная страница приложения записана в виде названия маршрута, именно её увидит пользователь при входе или нажатии на логотипы и ссылки.
'index' => 'platform.main',
Ресурсы панели управления
'resource' => [
'stylesheets' => [],
'scripts' => [],
],
В ходе работы вам может потребоваться добавить свои собственные таблицы стилей или javascript сценарии глобально, на каждую страницу. В таком случае необходимо добавить пути для них в соответствующие массивы.
Также возможно указывать ресурсы через объект Dashboard
, например в сервис провайдере:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Orchid\Platform\Dashboard;
class AppServiceProvider extends ServiceProvider
{
public function boot(Dashboard $dashboard)
{
$dashboard->registerResource('stylesheets', 'custom.css');
$dashboard->registerResource('scripts', 'custom.js');
}
}
Шаблоны внешнего вида
Для изменения некоторых шаблонов необязательно опубликовывать весь пакет. Вы можете настроить часть пользовательского интерфейса для указания логотипа, сопроводительных документов и т.п.
'template' => [
'header' => null,
'footer' => null,
],
Переопределение Blade шаблонов
Бэкенд-страницы создаются с помощью Blade. Вы можете изменить их, используя механизм переопределения шаблонов Laravel (он одинаков для всех пакетов, а не только для Orchid);
Для переопределения шаблонов из пакета создайте директорию /resources/views/vendor/platform/
в вашем приложении и
и создайте новые шаблоны по тому же пути, что и исходные.
Например, чтобы переопределить /vendor/orchid/platform/resources/views/partials/search.blade.php
, создайте новый шаблон по адресу
/resources/views/vendor/platform/partials/search.blade.php
. Наглядный пример:
your-project/
├─ ...
└─ resources/
└─ views/
└─ vendor/
└─ platform/
└─ partials/
└─ search.blade.php
Примечание. Переопределенные шаблоны не получают обновлений или исправлений ошибок. Думайте об этом как об отключении автопилота.
Модельные классы
Вполне нормальным является желание изменить поведение некоторых классов из стандартной поставки. Для того чтобы платформа использовала ваши классы моделей вместо своих, необходимо заранее зарегистрировать их подмену, с помощью:
namespace App\Providers;
use Illuminate\Support\ServiceProvider;
use Orchid\Support\Facades\Dashboard;
class AppServiceProvider extends ServiceProvider
{
/**
* Bootstrap any application services.
*
* @return void
*/
public function boot()
{
Dashboard::useModel(
\Orchid\Platform\Models\User::class,
\App\User::class
);
}
}
Можно использовать параметр конфигурации, что позволит определить все подмены сразу:
Dashboard::configure([
'models' => [
User::class => MyCustomClass::class,
],
]);