pwronline / nova-settings-translatable
A Laravel Nova工具,用于使用原生Nova字段可翻译功能编辑自定义设置。
dev-master
2019-11-06 12:54 UTC
Requires
- php: >=7.1.0
- mrmonat/nova-translatable: ^2.0
This package is not auto-updated.
Last update: 2024-09-20 10:23:20 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
在Nova的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。