Extension for the firefly/filament-blog plugin, adding full support for multiple sites scoped by site_id.
composer require kseven/filament-multiblogRequires: Laravel 11 or 12 + FilamentPHP 3
- Publish the config file:
php artisan vendor:publish --tag=filament-multiblog-config- Check the
config/multiblog.phpfile:
return [
'enabled' => env('MULTIBLOG_ENABLED', true),
'site_model' => App\Models\Site::class,
];- (Optional) Add the middleware to
Http\Kernel.php:
protected $middlewareGroups = [
'web' => [
// ...
\Kseven\FilamentMultiBlog\Http\Middleware\DetectSite::class,
],
];- 🆔 Support for multiple blogs scoped by
site_id - ✅ Fully compatible with all
filament-blogfeatures - 🧐 Auto-detection middleware via domain
- 🛠️ Custom Models, Resources, and Notifications scoped per site
- 📬 Automatic new post notification to subscribers per site
- 🎛️ Optional configuration for selecting
site_id
- Make sure your
sitestable exists and is populated. - The system will automatically apply
site_idto posts and resources. - Use
HasSiteScopefor automatic query scoping:
use Kseven\FilamentMultiBlog\Traits\HasSiteScope;
class Post extends BasePost {
use HasSiteScope;
}- When creating or editing records in the panel, the
site_idfield will be automatically handled.
php artisan db:seed --class=\\Database\\Seeders\\SiteSeeder
php artisan db:seed --class=\\Database\\Seeders\\CategorySeeder- This package does not modify the original plugin directly.
- It only extends Models, Resources, and behaviors using
bind()in its ownServiceProvider.
- The Firefly Tech — creators of the original plugin
- K'Seven — maintainer and multi-site extension author
MIT