spiggle/dynamic-fields-core v1.2.0 Filament 3 / 4 / 5 MIT

Free Core: dynamic custom fields for any Eloquent model

This documentation is for the public Core package. Attach text, selects, dates, and toggles to User (or any model) without adding JSON columns. Values live in an EAV table. File uploads, tags, and multi-select are Pro.

What Core is

Spiggle Dynamic Fields Core is a free Laravel + Filament plugin that lets administrators define extra fields in the panel, then injects those fields into host resources (forms, tables, infolists).

It is not a public form product. For public capture, use Spiggle Form Builder. The two packages share field-type names; Form Builder can copy Dynamic Fields definitions into a form schema.

Admin users

Create Core fields in System → Custom Fields, set types and options, and they appear on the target model’s resource. Clone and Pro types require a Pro license.

Developers

Add HasCustomFields to a model, call CustomFieldMapper in a Filament schema, and values persist on save.

What is stored

Definitions in custom_fields, options in custom_field_options, values in custom_field_values. File bytes are Pro (Spatie media), not Core blobs.

Who this is for

Documentation contents

Usage guide

Install Core from GitHub or Packagist, register the Filament plugin, publish config and migrations, host model traits, Shield permissions, Artisan commands, and config keys.

Workflows

Step-by-step: create a field, add it to a resource, capture, validate, store, and present data.

Features

Every field type, marked Core or Pro, plus builder UX.

GitHub (Core)

Public source, issues, and releases for spiggle/dynamic-fields-core. Download Core here.

Quick start

On a fresh host app:

composer require spiggle/dynamic-fields-core
php artisan vendor:publish --tag=dynamic-fields-config
php artisan migrate

Or clone / require the public repo: skillbobby/Spiggle-Dynamic-Fields-Core.

Register the plugin on the panel, add HasCustomFields, then map fields into a resource:

use Spiggle\DynamicFields\Filament\DynamicFieldsPlugin;
use Spiggle\DynamicFields\Facades\CustomFieldMapper;

$panel->plugin(DynamicFieldsPlugin::make());

Section::make('Custom Profile Data')
    ->schema(CustomFieldMapper::makeFormFields(User::class));

Full steps, Shield, and seed commands are in the usage guide.

Pro add-on (paid)

Pro adds file fields, tags, multi-select, RichEditor, conditional visibility, clone, and license activation. Price: $29.99 limited-time deal (normally $49.99). See product pricing. Open a Buy Pro issue on this public repo. Pro source is not public.

Related plugin

Spiggle Form Builder (spiggle/form-builder) builds public forms. It reuses Dynamic Fields types via FieldCatalog when this package is installed. Submissions do not write to custom_field_values.

Site: Spiggle Form Builder. Repo: skillbobby/Spiggle-Form-Builder.