optimistdigital / nova-locale-field
此包已被废弃且不再维护。没有建议的替代包。
Laravel Nova 字段。
2.0.14
2021-02-25 14:35 UTC
Requires
- php: >=7.1.0
- laravel/nova: ^2.0.11 || ^3.0
- dev-master
- 2.0.14
- 2.0.13
- 2.0.12
- 2.0.11
- 2.0.10
- 2.0.9
- 2.0.8
- 2.0.7
- 2.0.6
- 2.0.5
- 2.0.4
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 1.1.4
- 1.1.3
- 1.1.2
- 1.1.1
- 1.1.0
- 1.0.2
- 1.0.1
- 1.0.0
- dev-dependabot/npm_and_yarn/json5-1.0.2
- dev-dependabot/npm_and_yarn/express-4.18.2
- dev-dependabot/npm_and_yarn/qs-and-express-6.11.0
- dev-dependabot/npm_and_yarn/decode-uri-component-0.2.2
- dev-dependabot/npm_and_yarn/terser-4.8.1
- dev-dependabot/npm_and_yarn/eventsource-1.1.1
- dev-dependabot/npm_and_yarn/async-2.6.4
- dev-dependabot/npm_and_yarn/minimist-1.2.6
- dev-dependabot/npm_and_yarn/url-parse-1.5.10
- dev-dependabot/npm_and_yarn/follow-redirects-1.14.8
- dev-dependabot/npm_and_yarn/nanoid-3.2.0
- dev-dependabot/npm_and_yarn/path-parse-1.0.7
- dev-dependabot/npm_and_yarn/ws-7.4.6
- dev-dependabot/npm_and_yarn/dns-packet-1.3.4
- dev-dependabot/npm_and_yarn/browserslist-4.16.6
- dev-dependabot/npm_and_yarn/postcss-8.2.10
This package is auto-updated.
Last update: 2023-08-03 13:07:44 UTC
README
此包已被弃用,推荐使用 Nova Translatable
此 Laravel Nova 包允许您管理模型的多个本地化版本。
截图
安装
通过 Composer 在 Laravel Nova 项目中安装此包
composer require optimistdigital/nova-locale-field
使用方法
准备模型和数据库
该字段需要一些数据库更改——即模型需要两个新列:一个用于地区和一个用于引用地区父模型。
您可以设置任何您想要的列名。列名在创建字段时传递给字段。
列 | 建议名称 | 类型(MySQL / Eloquent) | 可为空 | 示例值 | 描述 |
---|---|---|---|---|---|
地区 | locale |
VARCHAR / string |
否 | en_US |
地区文本列,最大尺寸取决于您使用的地区类型(例如 en 与 en_US )。 |
地区父ID | locale_parent_id |
BIGINT / bigInteger |
是 | 1 |
地区父引用列(外键,尽管实际外键是可选的) |
示例迁移
Schema::table('some_model_table', function ($table) { $table->string('locale'); $table->bigInteger('locale_parent_id')->nullable(); // Optionally, add a foreign key $table->foreign('locale_parent_id')->references('id')->on('some_model_table'); });
创建字段
此字段与其它 Nova 字段在构造函数(::make()
)参数上略有不同。
# | 参数 | 类型 | 描述 |
---|---|---|---|
1 | $name | string | 字段的显示名称,作为索引字段中的列标题和在地区选择字段中的名称显示给用户。 |
2 | $localeAttribute | string | 地区值的属性(列)名称。 |
3 | $localeParentAttribute | string | 地区父ID的属性(列)名称。 |
use OptimistDigital\NovaLocaleField\LocaleField; LocaleField::make('Locale', 'locale', 'locale_parent_id') ->locales(['en' => 'English', 'et' => 'Estonian']) // Optional when you've set a default ->maxLocalesOnIndex(4) // Optional, defaults to 4
选项
您可以使用选项名称作为函数传递给字段的可能选项,例如 ->maxLocalesOnIndex(4)
。
选项 | 类型 | 默认值 | 描述 |
---|---|---|---|
locales |
array | [] | 作为键值对(['id' => 'value'] )的数组中的地区。 |
maxLocalesOnIndex |
int | 4 | 在索引视图中显示的地区数量。如果超出这个数量,地区只能在详情视图中可见。 |
配置
配置文件
您可以通过发布配置文件并在那里编辑默认值(除了地区之外)来编辑配置文件。
要发布配置文件,请运行以下 artisan publish 命令
php artisan vendor:publish --provider="OptimistDigital\NovaLocaleField\FieldServiceProvider" --tag="config"
默认区域设置
默认区域设置可以通过配置文件中的闭包或数组来定义。
可以在每个字段的基础上使用 ->locales([])
函数来覆盖此默认值。
过滤器
该包还提供了用于区域设置的select类型过滤器。
使用区域设置过滤器
要使用区域设置过滤器,只需将其添加到资源 filters()
函数返回的数组中。将区域字段名称作为唯一参数传递给 constructor
或静态 make
函数。
您还可以通过在过滤器上调用 ->locales([])
来覆盖默认显示的区域设置选项。这是可选的,如果不设置,过滤器将使用默认区域设置。
use \OptimistDigital\NovaLocaleField\Filters\LocaleFilter; public function filters(Request $request) { return [ LocaleFilter::make('locale') ->locales(NovaEcommerce::getLocales()), // <- Optional // OR new LocaleFilter('locale'), ]; }
致谢
许可证
该项目是开源软件,许可协议为MIT许可证。