deeplookcode / nova-settings
一个用于使用原生 Nova 字段编辑自定义设置的 Laravel Nova 工具。
1.1.2
2019-12-19 12:13 UTC
Requires
- php: >=7.1.0
This package is auto-updated.
Last update: 2024-09-19 22:40:27 UTC
README
此 Laravel Nova 包允许您在代码中创建自定义设置(使用 Nova 的原生字段),并为用户创建一个可以编辑设置的 UI。
要求
- Laravel Nova >= 2.0
功能
- 代码中的设置字段管理
- 编辑设置的 UI
- 访问设置的辅助函数
屏幕截图
安装
使用 Composer 在 Laravel Nova 项目中安装此包
composer require optimistdigital/nova-settings
发布数据库迁移并运行迁移
php artisan vendor:publish --provider="OptimistDigital\NovaSettings\ToolServiceProvider" --tag="migrations" php artisan migrate
在 NovaServiceProvider
的 tools()
方法中注册此工具
// in app/Providers/NovaServiceProvider.php public function tools() { return [ // ... new \OptimistDigital\NovaSettings\NovaSettings ]; }
使用方法
注册字段
通过调用 NovaSettings::setSettingsFields()
在 NovaServiceProvider
的 boot()
函数中定义字段。
\OptimistDigital\NovaSettings\NovaSettings::setSettingsFields([ Text::make('Some setting', 'some_setting'), Number::make('A number', 'a_number'), ]);
自定义格式化
如果想在返回设置值之前对其进行格式化,将 Closure
作为 setSettingsFields
函数的第二个参数传递。该函数接收两个参数:key
和 value
。
\OptimistDigital\NovaSettings\NovaSettings::setSettingsFields([ // ... fields ], function ($key, $value) { if ($key === 'some_boolean_value') return boolval($value); return $value; });
辅助函数
nova_get_settings()
调用 nova_get_settings()
以获取所有格式化为常规数组的设置。
nova_get_setting_value($key)
要获取单个设置的值,调用 nova_get_setting_value('some_setting_key')
。如果键不存在,它将返回值或 null。