Settings
CommunityIntegrates Outerweb/Settings into Filament.
Author:
Outerweb
Package health
BetaAutomated checks of this plugin's Composer package
13 checks
-
Passed:
Current Laravel version supported
—
Package dependencies resolve together with current Laravel
13.0. -
Passed:
Current PHP version supported
—
Constraint
^8.4supports current PHP8.5. - Skipped: Current Symfony version supported
- Passed: Abandoned or archived — No consulted source marks the package abandoned (packagist).
- Passed: Commit and release recency — Active: no commit date available; last release 122 days ago.
-
Passed:
composer.lock not committed by library
—
composer.lockis absent from the released dist archive. - Passed: Dist archive is lean
- Skipped: GitHub Actions pinned to SHA
- Passed: Open security advisories
- Passed: Dependabot PR responsiveness — No open Dependabot PRs.
- Skipped: Dependabot or Renovate configured
- Skipped: Dependency update cooldown configured
- Failed: Provides a security policy — View details on Plumb
filament/
namespace. Review the source and install at your own risk. Found
malware or an unresolved security issue the author won't
address?
Report it
.
Documentation

This Filament plugin provides an integration for the outerweb/settings package.
#Table of Contents
#Installation
You can install the package via composer:
composer require outerweb/filament-settings
Follow the installation instructions for the outerweb/settings package.
Add the plugin to your panel:
use Outerweb\FilamentSettings\SettingsPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
// ...
SettingsPlugin::make()
->pages([
// Add your settings pages here
]),
]);
}
#Usage
#Create a Page
Create a settings page by extending Outerweb\FilamentSettings\Pages\Settings:
namespace App\Filament\Pages;
use Outerweb\FilamentSettings\Pages\Settings;
class MySettings extends Settings
{
public function form(Schema $schema): Schema
{
return $schema
->components([
Tabs::make()
->columnSpanFull()
->tabs([
Tab::make('General')
->schema([
TextInput::make('general.brand_name')
->required(),
]),
Tab::make('Seo')
->schema([
TextInput::make('seo.title')
->required(),
TextInput::make('seo.description')
->required(),
]),
]),
]);
}
}
#Creating multiple pages
You can create as many settings pages as you want.
use Outerweb\FilamentSettings\SettingsPlugin;
public function panel(Panel $panel): Panel
{
return $panel
// ...
->plugins([
// ...
SettingsPlugin::make()
->pages([
\App\Filament\Pages\GeneralSettings::class,
\App\Filament\Pages\SeoSettings::class,
\App\Filament\Pages\OtherSettings::class,
]),
]);
}
Each page just needs to extend Outerweb\FilamentSettings\Pages\Settings. You can override the all properties like the icon, navigationGroup... just like a normal Filament page.
#Mutating settings data
You can mutate the settings before filling the form and before saving them to the database by defining the mutateFormDataBeforeFill and mutateFormDataBeforeSave methods.
For example, if you want to store all settings under a specific tenant key:
public function mutateFormDataBeforeFill(array $data): array
{
return collect($data)->get($this->getTenantKey(), []);
}
public function mutateFormDataBeforeSave(array $data): array
{
return collect($data)->mapWithKeys(function ($item, $key) {
return ["{$this->getTenantKey()}.{$key}" => $item];
})->toArray();
}
/**
* A custom function for this example
*/
private function getTenantKey(): string
{
return 'tenant'; // Your logic to determine the tenant
}
#Changelog
Please see CHANGELOG for more information on what has changed recently.
#License
The MIT License (MIT). Please see License File for more information.
The author
From the same author
Image Library
Adds an image library page and Image picker form-field to Filament with the ability to upload, crop, and manage images.
Author:
Outerweb
Link Picker Field
Adds a field to pick a link from your defined routes or external links.
Author:
Outerweb
Translatable Fields
Makes all Filament fields translatable with a translatable macro.
Author:
Outerweb
Featured Plugins
A selection of plugins curated by the Filament team
Custom Dashboards
Let your users build and share their own dashboards with a drag-and-drop interface. Define your data sources in PHP and let them do the rest.
Filament
Blueprint
Filament Blueprint is a premium Laravel Boost extension that helps AI agents produce accurate, detailed implementation plans and security reports for Filament apps.
Filament
Advanced Tables (formerly Filter Sets)
Supercharge your tables with powerful features like user-customizable views, quick filters, multi-column sorting, advanced table searching, convenient view management, and more. Compatible with Resource Panel Tables, Relation Managers, Table Widgets, and Table Builder!
Kenneth Sese