Download the PHP package artificertech/filament-multi-context without Composer
On this page you can find all versions of the php package artificertech/filament-multi-context. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download artificertech/filament-multi-context
More information about artificertech/filament-multi-context
Files in artificertech/filament-multi-context
Package filament-multi-context
Short Description a package for adding multiple contexts to the filament admin panel
License MIT
Homepage https://github.com/artificertech/filament-multi-context
Informations about the package filament-multi-context
A package for adding multiple contexts to the filament admin panel
This package allows you to register multiple filament contexts in your application with their own set of resources and pages
Installation
You can install the package via composer:
Usage
create a new filament context using
The above command will create the following files and directories:
Filament
cannot be passed as a context to this command as it is reserved for
the default filament installation
Register Provider:
Be sure to add the FilamentTeamsServiceProvider
class to your providers array in config/app.php
Adding Resources and Pages
You may now add filament resources in your FilamentTeams directories.
Context Traits: be sure to add the ContextualPage and ContextualResource traits to their associated classes inside of your context directories. (I tried really hard with v2 to make this unnecessary but sadly here we are). Without this when filament generates navigation links it will try to use
filament.pages.*
andfilament.resources.{resource}.*
instead of{context}.pages.*
and{context}.resources.{resource}.*
as the route names
ContextualPage & ContextualResource traits
Pages:
Resources:
Configuration
The config/filament-teams.php
file contains a subset of the
config/filament.php
configuration file. The values in the filament-teams.php
file can be adjusted and will only affect the pages, resources, and widgets for
the filament-teams
context.
Currently the configuration values that can be modified for a specific context are:
ContextServiceProvider
Your ContextServiceProvider
found in your
app/Providers/FilamentTeamsServiceProvider.php
is an extension of the Filament
PluginServiceProvder
so features of the PluginServiceProvider
may be used
for your context. Any UserMenuItems, scripts, styles, or scriptData added to
the provider will be registered for that context only
Custom Page and Resource Routing
If you would like more control over the way pages and resources are routed you
may override the componentRoutes()
function in your
FilamentTeamsServiceProvider
Changing the context guard
By default all contexts will use the guard defined in the primary filament.php
config file. However if you need to specify the guard for a specific context you
may add the following lines to your context config file:
!!! The Filament Facade
In order for this package to work the filament
app service has been overriden.
Each context is represented by its own Filament\FilamentManager
object. Within
your application calls to the filament facade (such as Filament::serving
) will
be proxied to the appropriate Filament\FilamentManager
object based on the
current context of your application (which is determined by the route of the
request)
Context Functions
The following functions have been added to facilitate multiple
Filament\FilamentManger
objects in your application:
Testing
Changelog
Please see CHANGELOG for more information on what has changed recently.
Contributing
Please see CONTRIBUTING for details.
Security Vulnerabilities
Please review our security policy on how to report security vulnerabilities.
Credits
- Cole Shirley
- All Contributors
License
The MIT License (MIT). Please see License File for more information.
All versions of filament-multi-context with dependencies
filament/filament Version ^2.15.16
illuminate/contracts Version ^8.6|^9.0|^10.0
spatie/laravel-package-tools Version ^1.9.2