mirror of
https://github.com/stancl/tenancy-docs.git
synced 2025-12-12 02:04:03 +00:00
1.6 KiB
1.6 KiB
| title | extends | section |
|---|---|---|
| Livewire integration | _layouts.documentation | content |
Livewire
Tenancy by domain
Open the config/livewire.php file and change this:
'middleware_group' => ['web'],
to this:
'middleware_group' => [
'web',
'universal',
InitializeTenancyByDomain::class, // or whatever tenancy middleware you use
],
(Don't forget to import the middleware class.)
Now you can use Livewire both in the central app and the tenant app.
Also make sure to enable [universal routes]({{ $page->link('features/universal-routes') }}).
And if you're using file uploads, read the [Real-time facades]({{ $page->link('realtime-facades') }}) page of the documentation. Livewire uses real-time facades in the uploading logic.
Tenancy by path
Open the config/livewire.php file and change this:
'middleware_group' => ['web'],
to this:
'middleware_group' => [
'web',
InitializeTenancyByPath::class,
],
(Don't forget to import the middleware class.)
Open the config/livewire.php file and add this:
use Livewire\Controllers\HttpConnectionHandler;
Route::group([
'prefix' => '/{tenant}',
'middleware' => [
'web',
InitializeTenancyByPath::class,
],
], function () {
Route::post('livewire/message/{name}', [HttpConnectionHandler::class, '__invoke']);
});
Finally, open the blade file where the @@livewireScripts directive is, and add:
@@livewireScripts
<script>
window.livewire_app_url = '/{{ tenant()->id }}';
</script>
Now you can use Livewire both in the central app and the tenant app.