pwronline/nova-settings-translatable

A Laravel Nova工具,用于使用原生Nova字段可翻译功能编辑自定义设置。

dev-master 2019-11-06 12:54 UTC

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
  • 访问设置的辅助函数

屏幕截图

Settings View

安装

通过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()在您的NovaServiceProviderboot()函数中定义字段。

\OptimistDigital\NovaSettings\NovaSettings::setSettingsFields([
    Text::make('Some setting', 'some_setting'),
    Number::make('A number', 'a_number'),
]);

自定义格式化

如果您希望设置值在返回之前进行格式化,请将一个Closure作为第二个参数传递给setSettingsFields函数。该函数接收两个参数:keyvalue

\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。