PHP code example of solution-forest / filament-field-group

1. Go to this page and download the library: Download solution-forest/filament-field-group library. Choose the download type require.

2. Extract the ZIP file and open the index.php.

3. Add this code to the index.php.
    
        
<?php
require_once('vendor/autoload.php');

/* Start to develop here. Best regards https://php-download.com/ */

    

solution-forest / filament-field-group example snippets


    use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;

    class AdminPanelProvider extends PanelProvider
    {
        public function panel(Panel $panel): Panel
        {
            return $panel
                ->plugin(FilamentFieldGroupPlugin::make());
        }
    }
   

return [
    'enabled' => false,
    'models' => [
        'field' => \SolutionForest\FilamentFieldGroup\Models\Field::class,
        'field_group' => SolutionForest\FilamentFieldGroup\Models\FieldGroup::class,
    ],
    'table_names' => [
        'fields' => 'advanced_fields',
        'field_groups' => 'advanced_field_groups',
    ],
];


// config/filament-field-group.php
return [
    'enabled' => true,
    // ... other config options
];

use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;
 
$panel
    ->plugin(FilamentFieldGroupPlugin::make()->enablePlugin());


use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public static function form(Form $form): Form
{
    return $form
        ->columns(1)
        ->schema([
            FilamentFieldGroup::findFieldGroup('user_basic'),
            FilamentFieldGroup::findFieldGroup('user_detail'),
        ]);
}

use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;
 
$panel
    ->plugin(FilamentFieldGroupPlugin::make()
        ->resources([
            // your resource
        ], override: true)
    );

// Option 1: On Your Filament Panel

use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin;

$panel
    ->plugin(FilamentFieldGroupPlugin::make()
        ->fieldTypeConfigs([
            // your field type config
        ], override: true)
    );

// Option 2: On Your AppServiceProvider

use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public function boot(): void
{
    FilamentFieldGroup::fieldTypeConfigs([
        \Your\Custom\FieldType::class
    ], override: true);
}

// In AppServiceProvider.php boot() method
use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public function boot(): void
{
    FilamentFieldGroup::configureFieldTypeConfigFormUsing(
        \SolutionForest\FilamentFieldGroup\FieldTypes\Configs\Text::class,
        function ($field, array $schema) {
            return [
                ...$schema,
                // Your additional config form fields
                Toggle::make('datalist'),
                // More custom configuration options...
            ];
        }
    );
}

// In AppServiceProvider.php boot() method
use SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup;

public function boot(): void
{
    FilamentFieldGroup::setFieldGroupModelClass(Your\Models\FieldGroup::class);
    FilamentFieldGroup::setFieldModelClass(Your\Models\Field::class);
}

use SolutionForest\FilamentFieldGroup\FieldTypes\Configs\FieldTypeBaseConfig;

class MyFieldTypeMixin
{
    public function addValidationRules()
    {
        return function (array $rules = []) {
            return array_merge($rules, ['aseConfig::mixin(new MyFieldTypeMixin());

use SolutionForest\FilamentFieldGroup\FieldTypes\Configs\Text;

// Apply mixin only to Text fields
Text::mixin(new TextFieldSpecificMixin());
bash
    php artisan filament-field-group:install
    
bash
php artisan vendor:publish --tag="filament-field-group-migrations"
php artisan migrate