A powerful Laravel/Filament plugin for adding dynamic custom fields to any Eloquent model without database migrations.
- 20+ Field Types - Text, date, select, file upload, rich editor, and more
- Conditional Visibility - Show/hide fields based on other field values
- Multi-tenancy - Complete tenant isolation and context management
- Filament Integration - Forms, tables, infolists, and admin interface
- Import/Export - Built-in CSV capabilities
- Security - Optional field encryption and type-safe validation
- Extensible - Custom field types and automatic discovery
- PHP 8.3+
- Filament 5.0+
useRelaticle\CustomFields\CustomFieldsPlugin;
useFilament\Panel;
publicfunctionpanel(Panel$panel): Panel
{
return$panel// ... other panel configurations
->plugins([
CustomFieldsPlugin::make(),
]);
}Add the trait to your model:
useRelaticle\CustomFields\Models\Contracts\HasCustomFields;
useRelaticle\CustomFields\Models\Concerns\UsesCustomFields;
class Post extends Model implements HasCustomFields
{
use UsesCustomFields;
}Add to your Filament form:
useFilament\Schemas\Schema;
useRelaticle\CustomFields\Facades\CustomFields;
publicfunctionform(Schema$schema): Form
{
return$schema->components([
// Your existing form fields...
CustomFields::form()->build()
]);
}For complete installation instructions, configuration options, and examples, visit our documentation.
Contributions are welcome! Please see our contributing guide in the documentation.
This plugin is dual-licensed: Open Source (AGPL-3.0) for open source projects, and Commercial License for closed-source projects.
AGPL-3.0 requires your entire application to be open source. For private/closed-source projects, you need a commercial license.
Please take a look at our documentation for licensing details.
