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



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

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

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

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

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

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

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

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

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

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

Промежуточные слои

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

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

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

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

'auth' => true,

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

php artisan make:auth

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

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

'index' => 'platform.main',

Локализация записей

'locales' => [
    'en' => [
        'name'     => 'English',
        'script'   => 'Latn',
        'dir'      => 'ltr',
        'native'   => 'English',
        'regional' => 'en_GB',
    ],
],

Стандартные записи созданные с помощью поведений имеют возможность встроенной локализации, то есть вы можете создавать одни и те же записи на разных языках, что бы добавить язык, требуется лишь указать новый элемент массива.

Пользовательское меню

'menu' => [
    'header'  => 'Header menu',
    'sidebar' => 'Sidebar menu',
    'footer'  => 'Footer menu',
],

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

Ресурсы панели управления

'resource' => [
    'stylesheets' => [],
    'scripts'     => [],
],

В ходе работы вам может потребоваться добавить свои собственные таблицы стили или javascript сценарии глобально, на каждую страницу, то необходимо добавить пути для них в соответствующие массивы.

Так же возможно указывать ресурсы через обьект Dashboard, например в сервис провайдере:

namespace App\Providers;

use Illuminate\Support\ServiceProvider;
use Orchid\Platform\Dashboard;

class AppServiceProvider extends ServiceProvider
{
    /**
     * Bootstrap any application services.
     *
     * @return void
     */
    public function boot(Dashboard $dashboard)
    {
        $dashboard->registerResource('stylesheets','custom.css');
        $dashboard->registerResource('scripts','custom.js');
    }
}

Шаблоны внешнего вида

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

'template' => [
    'header' => 'platform::layouts.header',
    'footer' => 'platform::layouts.footer',
],

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

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

Dashboard::useModel(\Orchid\Platform\Models\User::class,\App\User::class);

Так же можно использовать параметр конфигурации, что позволит определить все подмены сразу:

Dashboard::configure([
    'models' => [
        User::class => 'MyCustomClass',
    ],
]);