解决方案森林 / 纤维场组
测试
1.0.7
2024-09-24 02:25 UTC
Requires
- php: ^8.1
- filament/filament: ^3.0
- spatie/eloquent-sortable: ^4.0.0
- spatie/laravel-package-tools: ^1.15.0
Requires (Dev)
- laravel/pint: ^1.0
- nunomaduro/collision: ^7.9
- orchestra/testbench: ^8.0
- pestphp/pest: ^2.1
- pestphp/pest-plugin-arch: ^2.0
- pestphp/pest-plugin-laravel: ^2.0
- spatie/laravel-ray: ^1.26
README
纤维场组是一个强大的Laravel包,它增强了Filament的表单构建功能。它允许您轻松地对表单字段进行分组和组织,从而改善表单的结构和可读性。使用此包,您可以创建可折叠的部分、选项卡或自定义布局,使复杂表单更容易管理和用户友好。
安装
- 您可以通过Composer安装此包
composer require solution-forest/filament-field-group
- 在您的面板提供商中注册插件
use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin; class AdminPanelProvider extends PanelProvider { public function panel(Panel $panel): Panel { return $panel ->plugin(FilamentFieldGroupPlugin::make()); } }
- 然后执行以下命令
php artisan filament-field-group:install
发布配置、视图、翻译和迁移
您可以使用以下命令发布和运行迁移
php artisan vendor:publish --tag="filament-field-group-migrations"
php artisan migrate
您可以使用以下命令发布配置文件
php artisan vendor:publish --tag="filament-field-group-config"
可选,您可以使用以下命令发布视图
php artisan vendor:publish --tag="filament-field-group-views"
这是已发布配置文件的内容
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', ], ];
用法
- 将
FilamentFieldGroupPlugin
添加到您的面板中。 - 通过在配置文件中将
enabled
设置为true
来启用字段组资源
// config/filament-field-group.php return [ 'enabled' => true, // ... other config options ];
或在FilamentFieldGroupPlugin
上启用插件
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'), ]); }
可用组件
目前,此包提供以下组件
- 文本
- 文本区域
- 电子邮件
- 密码
- 数字
- URL
- 选择
将来可以添加更多组件。如果您有其他组件的想法,请随时提交pull request!
高级用法
自定义资源
您可以通过在FilamentFieldGroupPlugin
上调用resources
来添加/替换原始资源
use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin; $panel ->plugin(FilamentFieldGroupPlugin::make() ->resources([ // your resource ], override: true) );
自定义字段类型
您可以通过在FilamentFieldGroupPlugin
上调用fieldTypeConfigs
来添加/替换原始字段类型配置
use SolutionForest\FilamentFieldGroup\FilamentFieldGroupPlugin; $panel ->plugin(FilamentFieldGroupPlugin::make() ->fieldTypeConfigs([ // your field type config ], override: true) );
自定义模型
本节允许您自定义用于Filament Field Group包中字段组的模型。通过将默认的FieldGroup
模型替换为您自己的实现,您可以扩展或修改其行为以适应您应用程序的需求。
为此,请使用FilamentFieldGroup
外观的setFieldGroupModelClass
或setFieldModelClass
方法,指定原始模型和您的自定义模型。以下是一个示例
\SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup::setFieldGroupModelClass( Your\Models\FieldGroup::class ); \SolutionForest\FilamentFieldGroup\Facades\FilamentFieldGroup::setFieldModelClass( Your\Models\Field::class );
测试
composer test
变更日志
请参阅变更日志以获取有关最近更改的更多信息。
贡献
请参阅CONTRIBUTING获取详细信息。
我们欢迎贡献来提升此包。可能还会添加更多组件,因此请随时提交包含您的想法或改进的pull request。
安全漏洞
请查阅我们的安全策略了解如何报告安全漏洞。
致谢
许可证
MIT许可证(MIT)。请参阅许可证文件获取更多信息。