tomatophp / filament-settings-hub
Manage your Filament app settings with GUI and helpers
Fund package maintenance!
3x1io
Installs: 3 160
Dependents: 4
Suggesters: 0
Security: 0
Stars: 16
Watchers: 1
Forks: 3
Open Issues: 0
Requires
- php: ^8.1|^8.2
- filament/filament: ^3.0.0
- filament/notifications: ^3.0.0
- filament/spatie-laravel-settings-plugin: ^3.2
- spatie/laravel-sitemap: ^7.2
- tomatophp/console-helpers: ^1.1
README
Filament Settings Hub
Manage your Filament app settings with GUI and helpers
Screenshots
Installation
composer require tomatophp/filament-settings-hub
now you need to publish and migrate settings table
php artisan vendor:publish --provider="Spatie\LaravelSettings\LaravelSettingsServiceProvider" --tag="migrations"
after publish and migrate settings table please run this command
php artisan filament-settings-hub:install
finally reigster the plugin on /app/Providers/Filament/AdminPanelProvider.php
->plugin( \TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make() ->allowLocationSettings() ->allowSiteSettings() ->allowSocialMenuSettings() )
Usage
you can use this package by use this helper function
settings($key);
to register new setting to the hub page you can use Facade class on your provider like this
use TomatoPHP\FilamentSettingsHub\Facades\FilamentSettingsHub; use TomatoPHP\FilamentSettingsHub\Services\Contracts\SettingHold; FilamentSettingsHub::register([ SettingHold::make() ->order(2) ->label('Site Settings') // to translate label just use direct translation path like `messages.text.name` ->icon('heroicon-o-globe-alt') ->route('filament.admin.pages.site-settings') // use page / route ->page(\TomatoPHP\FilamentSettingsHub\Pages\SiteSettings::class) // use page / route ->description('Name, Logo, Site Profile') // to translate label just use direct translation path like `messages.text.name` ->group('General') // to translate label just use direct translation path like `messages.text.name`, ]);
and now you can see your settings on the setting hub page.
we have a ready to use helper for currency settings
dollar($amount)
it will return the money amount with the currency symbol
Allow Shield
to allow filament-shield for the settings please install it and config it first then you can use this method
->plugin( \TomatoPHP\FilamentSettingsHub\FilamentSettingsHubPlugin::make() ->allowShield() )
to make a secure setting page just use this trait
use TomatoPHP\FilamentSettingsHub\Traits\UseShield;
Publish Assets
you can publish config file by use this command
php artisan vendor:publish --tag="filament-settings-hub-config"
you can publish views file by use this command
php artisan vendor:publish --tag="filament-settings-hub-views"
you can publish languages file by use this command
php artisan vendor:publish --tag="filament-settings-hub-lang"
you can publish migrations file by use this command
php artisan vendor:publish --tag="filament-settings-hub-migrations"
Other Filament Packages
Checkout our Awesome TomatoPHP