For Orchid add the path to the "home" route for central app (#159)

* add Laravel Orchid integration

* add the path to the "home" route for central application

* fix link to Universal Routes
This commit is contained in:
Impeck 2022-04-11 16:21:08 +05:00 committed by GitHub
parent d0faea78b2
commit 703f7b037b
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23

View file

@ -5,21 +5,25 @@ section: content
--- ---
# Laravel Orchid {#laravel-orchid} # Laravel Orchid {#laravel-orchid}
The instruction is written for a newly installed Orchid platform, it is proposed to use the platform as a central application and the tenant app. The instruction is written for a newly installed Orchid platform, it is proposed to use the platform as a central application and the tenant app.
## Both in the central app and the tenant app ## Both in the central app and the tenant app
Laravel Orchid has already been installed according to the [documentation Orchid](https://orchid.software/en/docs/installation/). All the steps have also been completed [Quickstart Tutorial](/docs/v3/quickstart). Laravel Orchid has already been installed according to the [documentation Orchid](https://orchid.software/en/docs/installation/). All the steps have also been completed [Quickstart Tutorial](/docs/v3/quickstart).
- To use Orchid both in the central & tenant parts you need to enable [Universal Routes](docs/v3/features/universal-routes). - To use Orchid both in the central & tenant parts you need to enable [Universal Routes]({{ $page->link('features/universal-routes') }}).
- Add the tenancy middleware to your `config\platform.php` - Add the tenancy middleware to your `config\platform.php`
```php ```php
'middleware' => [ 'middleware' => [
'public' => ['web', 'universal', \Stancl\Tenancy\Middleware\InitializeTenancyByDomain::class], 'public' => ['web', 'universal', \Stancl\Tenancy\Middleware\InitializeTenancyByDomain::class],
'private' => ['web', 'platform', 'universal', \Stancl\Tenancy\Middleware\InitializeTenancyByDomain::class], 'private' => ['web', 'platform', 'universal', \Stancl\Tenancy\Middleware\InitializeTenancyByDomain::class],
], ],
``` ```
- Add a route to `routes\platform.php` - Add a route to `routes\platform.php`
```php ```php
Route::screen('/', PlatformScreen::class) Route::screen('/', PlatformScreen::class)
->name('platform.index') ->name('platform.index')
@ -27,14 +31,22 @@ Laravel Orchid has already been installed according to the [documentation Orchid
return $trail->push(__('Home'), route('platform.index')); return $trail->push(__('Home'), route('platform.index'));
}); });
``` ```
- In the file `app\Providers\RouteServiceProvider.php`, if necessary, change the path to the "home" route for your central application. By default for Orchid it will be `'admin/main'`
```php
public const HOME = 'admin/main';
```
- Tenant Routes `routes\tenant.php` - Tenant Routes `routes\tenant.php`
```php ```php
Route::middleware([ Route::middleware([
'web', 'web',
'platform', 'platform',
InitializeTenancyByDomain::class, InitializeTenancyByDomain::class,
PreventAccessFromCentralDomains::class, PreventAccessFromCentralDomains::class,
])->prefix('admin')->group(function () { ])->prefix(Orchid\Platform\Dashboard::prefix('/'))->group(function () {
Route::get('/', function () { Route::get('/', function () {
return 'This is your multi-tenant application. The id of the current tenant is ' . tenant('id'); return 'This is your multi-tenant application. The id of the current tenant is ' . tenant('id');
}); });