Конфигурация платформы



Платформа использует стандартную систему настроек для Laravel. Параметры располагаются в директории config, а основным источником для платформы является файл platform.php. Каждая настройка поставляется с комментарием поясняющим основную суть.

Примечание. Если вы кешируете свои файлы конфигурации, не забудьте очистить их после изменения, используя команду php artisan config:clear

Ниже мы углубимся в файл конфигурации и дадим подробное описание каждого параметра.

Адрес платформы

'domain' => env('DASHBOARD_DOMAIN', null),

Для многих проектов адрес расположения панели администрирования играет важную роль. Например, приложение располагается по адресу example.com, а платформа на admin.example.com или на стороннем домене.

Для этого требуется указать по какому адресу вы хотели её открывать.

'domain' => 'admin.example.com',

Помните, что ваши параметры веб-сервера должны быть настроены должным образом.

Префикс платформы

'prefix' => env('DASHBOARD_PREFIX', 'dashboard'),

Предоставляется возможность смены префикса dashboard на любое другое название, например admin или administrator.

Middleware

'middleware' => [
    'public'  => ['web'],
    'private' => ['web', 'platform'],
],

Можете добавлять/изменять промежуточные слои (middleware) для графического интерфейса. На данный момент предусмотрены две группы: public, которую может видеть не авторизованный пользователь, например, страницу "Входа" или "Восстановление пароля", и private, которую наоборот видят только авторизованные пользователи.

Вы можете добавить сколько угодно новых промежуточных слоёв, например, слой фильтрации запросов только из белого списка IP адресов.

Страница авторизации

'auth' => true,

Существует возможность и вовсе отключить поставляемую форму авторизации и сделать собственную, например с помощью команды:

php artisan ui:auth

Главная страница

Главная страница приложения записана в виде названия маршрута, именно её увидит пользователь при входе или нажатии на логотипы и ссылки.

'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,
],

Модельные классы

Вполне нормальным является желание изменить поведение некоторых классов из стандартной поставки, для того, что бы платформа использовала ваши классы моделей вместо своих, необходимо заранее зарегистрировать их подмену, с помощью:

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,
    ],
]);