filament/spatie-laravel-settings-plugin

支持 `spatie/laravel-settings` 的 Filament。

v3.2.113 2024-06-05 09:38 UTC

This package is auto-updated.

Last update: 2024-09-17 08:30:40 UTC


README

安装

使用 Composer 安装插件

composer require filament/spatie-laravel-settings-plugin:"^3.2" -W

准备页面类

设置页面是扩展了 Filament\Pages\SettingsPage 类的 Filament 页面。

此包使用 spatie/laravel-settings 通过数据库存储和检索设置。

在开始之前,在您的 app/Settings 目录中创建一个设置类及其数据库迁移。您可以在 Spatie 文档 中了解更多信息。

创建设置类后,您可以使用以下命令在 Filament 中创建对应的设置页面

php artisan make:filament-settings-page ManageFooter FooterSettings

在这个例子中,您在 app/Settings 目录中有一个 FooterSettings 类。

在您在 app/Filament/Pages 目录中生成的新的设置页面类中,您将看到静态 $settings 属性被分配给设置类

protected static string $settings = FooterSettings::class;

构建表单

您必须在 form() 方法内部定义一个表单模式,以与您的设置类交互。

由于默认情况下在面板构建器中安装了 Form Builder,您可以使用任何您喜欢的表单 字段布局组件

use Filament\Forms\Components\Repeater;
use Filament\Forms\Components\TextInput;
use Filament\Forms\Form;

public function form(Form $form): Form
{
    return $form
        ->schema([
            TextInput::make('copyright')
                ->label('Copyright notice')
                ->required(),
            Repeater::make('links')
                ->schema([
                    TextInput::make('label')->required(),
                    TextInput::make('url')
                        ->url()
                        ->required(),
                ]),
        ]);
}

每个表单字段的名称必须与设置类上的属性名称相匹配。

表单将自动用数据库中的设置填充,并保存,无需额外工作。

发布翻译

如果您希望翻译此包,可以使用以下方式发布语言文件

php artisan vendor:publish --tag=filament-spatie-laravel-settings-plugin-translations